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
index 6545ef5c06b2804a72eeb7db807339b21b3d4a9c..54dd8c3cc74075317a12920acda2bcb9be897bae 100644
--- 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
@@ -17,5 +17,6 @@ Require-Bundle: edu.kit.ipd.descartes.mm.adaptation.sta;visibility:=reexport,
 Import-Package: org.apache.log4j
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: edu.kit.ipd.descartes.mm.adaptation.ui.contentassist,
- edu.kit.ipd.descartes.mm.adaptation.ui.contentassist.antlr
+ edu.kit.ipd.descartes.mm.adaptation.ui.contentassist.antlr,
+ edu.kit.ipd.descartes.mm.adaptation.ui.quickfix
 Bundle-Activator: edu.kit.ipd.descartes.mm.adaptation.ui.internal.StaAdaptationLanguageActivator
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml_gen b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml_gen
index ebeab6de4efc9822cb55968d8f239f1094994022..d8ecb3284b0182646a0a150b7b4ed226d2b7f927 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml_gen
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/plugin.xml_gen
@@ -33,7 +33,27 @@
                     definitionId="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage.Editor.opened">
             </reference>
          </activeWhen>
-      </handler>
+      	</handler>
+      	<!-- copy qualified name -->
+        <handler
+            class="edu.kit.ipd.descartes.mm.adaptation.ui.StaAdaptationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+            <activeWhen>
+				<reference definitionId="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage.Editor.opened" />
+            </activeWhen>
+        </handler>
+        <handler
+            class="edu.kit.ipd.descartes.mm.adaptation.ui.StaAdaptationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+            commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+            <activeWhen>
+            	<and>
+            		<reference definitionId="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage.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.mm.adaptation.StaAdaptationLanguage.Editor.opened">
@@ -46,6 +66,16 @@
                 </with>        
             </and>
         </definition>
+        <definition id="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage.XtextEditor.opened">
+            <and>
+                <reference definitionId="isXtextEditorActive"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
     </extension>
     <extension
             point="org.eclipse.ui.preferencePages">
@@ -96,6 +126,19 @@
             id="edu.kit.ipd.descartes.mm.adaptation.StaAdaptationLanguage.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
@@ -111,6 +154,36 @@
             </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.mm.adaptation.StaAdaptationLanguage.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.mm.adaptation.StaAdaptationLanguage.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.mm.adaptation.StaAdaptationLanguage.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">
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/AbstractStaAdaptationLanguageProposalProvider.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/AbstractStaAdaptationLanguageProposalProvider.java
index 582b6e9ef0adf4283a01a1f698b20524fea30a74..2006b4f6ed7a9975040bff67b9a40ae40b834822 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/AbstractStaAdaptationLanguageProposalProvider.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/AbstractStaAdaptationLanguageProposalProvider.java
@@ -5,7 +5,6 @@ package edu.kit.ipd.descartes.mm.adaptation.ui.contentassist;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.*;
-import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
 import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
 import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
 
@@ -15,30 +14,24 @@ import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
  * with a more concrete subtype. 
  */
 @SuppressWarnings("all")
-public class AbstractStaAdaptationLanguageProposalProvider extends TerminalsProposalProvider {
+public class AbstractStaAdaptationLanguageProposalProvider 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) {
+	public void completeAdaptationProcess_Goal(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) {
+	public void completeAdaptationProcess_Tactics(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) {
+	public void completeAdaptationProcess_Strategies(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) {
+	public void completeAdaptationProcess_Parameters(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) {
@@ -53,16 +46,13 @@ public class AbstractStaAdaptationLanguageProposalProvider extends TerminalsProp
 	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) {
+	public void completeAction_InputParams(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) {
+	public void completeAction_OutputParam(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) {
@@ -71,9 +61,6 @@ public class AbstractStaAdaptationLanguageProposalProvider extends TerminalsProp
 	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);
 	}
@@ -89,10 +76,10 @@ public class AbstractStaAdaptationLanguageProposalProvider extends TerminalsProp
 	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) {
+	public void completeParameter_Type(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) {
+	public void completeParameter_Name(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) {
@@ -101,231 +88,42 @@ public class AbstractStaAdaptationLanguageProposalProvider extends TerminalsProp
 	public void completeOverallGoal_Objectives(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_Counter(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_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_Specification(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_UsedTactic(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		lookupCrossReference(((CrossReference)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_WeightedMetrics(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 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 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);
 	}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/StaAdaptationLanguageParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/StaAdaptationLanguageParser.java
index dbf9d9aedcf5ddb526eed09630cb83ca5266337f..2efdb2a89ad8b4c69f825ce6a50cadba6f7e6576 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/StaAdaptationLanguageParser.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/StaAdaptationLanguageParser.java
@@ -37,194 +37,92 @@ public class StaAdaptationLanguageParser extends AbstractContentAssistParser {
 			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.getAdaptationProcessAccess().getGroup_12(), "rule__AdaptationProcess__Group_12__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_16(), "rule__AdaptationProcess__Group_16__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_17(), "rule__AdaptationProcess__Group_17__0");
+					put(grammarAccess.getAdaptationProcessAccess().getGroup_17_3(), "rule__AdaptationProcess__Group_17_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.getTacticAccess().getGroup_3(), "rule__Tactic__Group_3__0");
+					put(grammarAccess.getTacticAccess().getGroup_3_3(), "rule__Tactic__Group_3_3__0");
+					put(grammarAccess.getTacticAccess().getGroup_4(), "rule__Tactic__Group_4__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.getActionAccess().getGroup_3(), "rule__Action__Group_3__0");
+					put(grammarAccess.getActionAccess().getGroup_3_3(), "rule__Action__Group_3_3__0");
+					put(grammarAccess.getActionAccess().getGroup_4(), "rule__Action__Group_4__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.getOverallGoalAccess().getGroup_6(), "rule__OverallGoal__Group_6__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.getAdaptationPlanAccess().getGroup_1(), "rule__AdaptationPlan__Group_1__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_5(), "rule__LoopAction__Group_5__0");
-					put(grammarAccess.getLoopActionAccess().getGroup_6(), "rule__LoopAction__Group_6__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.getEIntAccess().getGroup(), "rule__EInt__Group__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.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.getWeightedTacticAccess().getGroup_5(), "rule__WeightedTactic__Group_5__0");
 					put(grammarAccess.getWeightingFunctionAccess().getGroup(), "rule__WeightingFunction__Group__0");
-					put(grammarAccess.getWeightingFunctionAccess().getGroup_8(), "rule__WeightingFunction__Group_8__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.getWeightingFunctionAccess().getGroup_3(), "rule__WeightingFunction__Group_3__0");
 					put(grammarAccess.getMetricTypeAccess().getGroup(), "rule__MetricType__Group__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.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.getAdaptationProcessAccess().getNameAssignment_1(), "rule__AdaptationProcess__NameAssignment_1");
+					put(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4(), "rule__AdaptationProcess__GoalAssignment_4");
+					put(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7(), "rule__AdaptationProcess__ActionsAssignment_7");
+					put(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1(), "rule__AdaptationProcess__ActionsAssignment_8_1");
+					put(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11(), "rule__AdaptationProcess__TacticsAssignment_11");
+					put(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1(), "rule__AdaptationProcess__TacticsAssignment_12_1");
+					put(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15(), "rule__AdaptationProcess__StrategiesAssignment_15");
+					put(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1(), "rule__AdaptationProcess__StrategiesAssignment_16_1");
+					put(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2(), "rule__AdaptationProcess__ParametersAssignment_17_2");
+					put(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1(), "rule__AdaptationProcess__ParametersAssignment_17_3_1");
+					put(grammarAccess.getTacticAccess().getNameAssignment_1(), "rule__Tactic__NameAssignment_1");
+					put(grammarAccess.getTacticAccess().getInputParamsAssignment_3_2(), "rule__Tactic__InputParamsAssignment_3_2");
+					put(grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1(), "rule__Tactic__InputParamsAssignment_3_3_1");
+					put(grammarAccess.getTacticAccess().getOutputParamAssignment_4_2(), "rule__Tactic__OutputParamAssignment_4_2");
+					put(grammarAccess.getTacticAccess().getImplementedPlanAssignment_7(), "rule__Tactic__ImplementedPlanAssignment_7");
+					put(grammarAccess.getActionAccess().getNameAssignment_1(), "rule__Action__NameAssignment_1");
+					put(grammarAccess.getActionAccess().getInputParamsAssignment_3_2(), "rule__Action__InputParamsAssignment_3_2");
+					put(grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1(), "rule__Action__InputParamsAssignment_3_3_1");
+					put(grammarAccess.getActionAccess().getOutputParamAssignment_4_2(), "rule__Action__OutputParamAssignment_4_2");
+					put(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7(), "rule__Action__ReferredAdaptationPointAssignment_7");
 					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().getNameAssignment_1(), "rule__Strategy__NameAssignment_1");
+					put(grammarAccess.getStrategyAccess().getObjectiveAssignment_5(), "rule__Strategy__ObjectiveAssignment_5");
 					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().getTypeAssignment_0(), "rule__Parameter__TypeAssignment_0");
 					put(grammarAccess.getParameterAccess().getNameAssignment_1(), "rule__Parameter__NameAssignment_1");
-					put(grammarAccess.getParameterAccess().getTypeAssignment_4(), "rule__Parameter__TypeAssignment_4");
-					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.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().getCounterAssignment_4(), "rule__LoopAction__CounterAssignment_4");
-					put(grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1(), "rule__LoopAction__PredecessorAssignment_5_1");
-					put(grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_1(), "rule__LoopAction__SuccessorAssignment_6_1");
-					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().getSpecificationAssignment_6(), "rule__Objective__SpecificationAssignment_6");
-					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().getWeightedMetricsAssignment_7(), "rule__WeightingFunction__WeightedMetricsAssignment_7");
-					put(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1(), "rule__WeightingFunction__WeightedMetricsAssignment_8_1");
-					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.getMetricTypeAccess().getIdAssignment_1(), "rule__MetricType__IdAssignment_1");
-					put(grammarAccess.getMetricTypeAccess().getNameAssignment_4(), "rule__MetricType__NameAssignment_4");
-					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");
+					put(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2(), "rule__OverallGoal__DescriptionAssignment_2");
+					put(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5(), "rule__OverallGoal__ObjectivesAssignment_5");
+					put(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1(), "rule__OverallGoal__ObjectivesAssignment_6_1");
+					put(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0(), "rule__AdaptationPlan__StepsAssignment_0");
+					put(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1(), "rule__AdaptationPlan__StepsAssignment_1_1");
+					put(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3(), "rule__AdaptationPlan__StepsAssignment_3");
+					put(grammarAccess.getObjectiveAccess().getNameAssignment_1(), "rule__Objective__NameAssignment_1");
+					put(grammarAccess.getObjectiveAccess().getSpecificationAssignment_3(), "rule__Objective__SpecificationAssignment_3");
+					put(grammarAccess.getEventAccess().getNameAssignment(), "rule__Event__NameAssignment");
+					put(grammarAccess.getWeightedTacticAccess().getNameAssignment_0(), "rule__WeightedTactic__NameAssignment_0");
+					put(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2(), "rule__WeightedTactic__UsedTacticAssignment_2");
+					put(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3(), "rule__WeightedTactic__CurrentWeightAssignment_3");
+					put(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4(), "rule__WeightedTactic__DefaultWeightAssignment_4");
+					put(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1(), "rule__WeightedTactic__LastImpactAssignment_5_1");
+					put(grammarAccess.getWeightingFunctionAccess().getNameAssignment_0(), "rule__WeightingFunction__NameAssignment_0");
+					put(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2(), "rule__WeightingFunction__WeightedMetricsAssignment_2");
+					put(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1(), "rule__WeightingFunction__WeightedMetricsAssignment_3_1");
+					put(grammarAccess.getMetricTypeAccess().getNameAssignment_1(), "rule__MetricType__NameAssignment_1");
+					put(grammarAccess.getWeightedMetricAccess().getNameAssignment_0(), "rule__WeightedMetric__NameAssignment_0");
+					put(grammarAccess.getWeightedMetricAccess().getWeightAssignment_2(), "rule__WeightedMetric__WeightAssignment_2");
+					put(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5(), "rule__WeightedMetric__MetricTypeAssignment_5");
 				}
 			};
 		}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g
index 1977c964413ee894a256637d88f71454123bacbf..5880111e9f98361faf3c0f2f8f356464332220b2 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g
@@ -114,32 +114,6 @@ finally {
 
 
 
-// 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
@@ -382,9 +356,11 @@ ruleStopAction
     }
 	:
 (
-{ before(grammarAccess.getStopActionAccess().getGroup()); }
-(rule__StopAction__Group__0)
-{ after(grammarAccess.getStopActionAccess().getGroup()); }
+{ before(grammarAccess.getStopActionAccess().getStopActionKeyword()); }
+
+	'StopAction' 
+
+{ after(grammarAccess.getStopActionAccess().getStopActionKeyword()); }
 )
 
 ;
@@ -410,9 +386,11 @@ ruleLoopAction
     }
 	:
 (
-{ before(grammarAccess.getLoopActionAccess().getGroup()); }
-(rule__LoopAction__Group__0)
-{ after(grammarAccess.getLoopActionAccess().getGroup()); }
+{ before(grammarAccess.getLoopActionAccess().getLoopActionKeyword()); }
+
+	'LoopAction' 
+
+{ after(grammarAccess.getLoopActionAccess().getLoopActionKeyword()); }
 )
 
 ;
@@ -438,9 +416,11 @@ ruleBranchAction
     }
 	:
 (
-{ before(grammarAccess.getBranchActionAccess().getGroup()); }
-(rule__BranchAction__Group__0)
-{ after(grammarAccess.getBranchActionAccess().getGroup()); }
+{ before(grammarAccess.getBranchActionAccess().getBranchActionKeyword()); }
+
+	'BranchAction' 
+
+{ after(grammarAccess.getBranchActionAccess().getBranchActionKeyword()); }
 )
 
 ;
@@ -466,37 +446,11 @@ ruleActionReference
     }
 	:
 (
-{ before(grammarAccess.getActionReferenceAccess().getGroup()); }
-(rule__ActionReference__Group__0)
-{ after(grammarAccess.getActionReferenceAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
+{ before(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword()); }
 
+	'ActionReference' 
 
-// Entry rule entryRuleEInt
-entryRuleEInt 
-:
-{ before(grammarAccess.getEIntRule()); }
-	 ruleEInt
-{ after(grammarAccess.getEIntRule()); } 
-	 EOF 
-;
-
-// Rule EInt
-ruleEInt
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getEIntAccess().getGroup()); }
-(rule__EInt__Group__0)
-{ after(grammarAccess.getEIntAccess().getGroup()); }
+{ after(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword()); }
 )
 
 ;
@@ -506,6 +460,8 @@ finally {
 
 
 
+
+
 // Entry rule entryRuleAdaptationActionOperation
 entryRuleAdaptationActionOperation 
 :
@@ -522,37 +478,11 @@ ruleAdaptationActionOperation
     }
 	:
 (
-{ before(grammarAccess.getAdaptationActionOperationAccess().getGroup()); }
-(rule__AdaptationActionOperation__Group__0)
-{ after(grammarAccess.getAdaptationActionOperationAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
+{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword()); }
 
-// Entry rule entryRuleModelVariableConfigurationRange
-entryRuleModelVariableConfigurationRange 
-:
-{ before(grammarAccess.getModelVariableConfigurationRangeRule()); }
-	 ruleModelVariableConfigurationRange
-{ after(grammarAccess.getModelVariableConfigurationRangeRule()); } 
-	 EOF 
-;
+	'AdaptionActionOperation' 
 
-// Rule ModelVariableConfigurationRange
-ruleModelVariableConfigurationRange
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); }
-(rule__ModelVariableConfigurationRange__Group__0)
-{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); }
+{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword()); }
 )
 
 ;
@@ -562,31 +492,7 @@ finally {
 
 
 
-// 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);
-}
 
 
 
@@ -634,9 +540,11 @@ rulePropertyRange
     }
 	:
 (
-{ before(grammarAccess.getPropertyRangeAccess().getGroup()); }
-(rule__PropertyRange__Group__0)
-{ after(grammarAccess.getPropertyRangeAccess().getGroup()); }
+{ before(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword()); }
+
+	'PropertyRange' 
+
+{ after(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword()); }
 )
 
 ;
@@ -662,67 +570,11 @@ ruleSetOfConfigurations
     }
 	:
 (
-{ 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()); }
+{ before(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword()); }
 
-	'AdaptationScope' 
+	'SetOfConfigurations' 
 
-{ after(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); }
+{ after(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword()); }
 )
 
 ;
@@ -732,33 +584,9 @@ finally {
 
 
 
-// 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);
-}
 
 
 
@@ -806,9 +634,9 @@ ruleEvent
     }
 	:
 (
-{ before(grammarAccess.getEventAccess().getGroup()); }
-(rule__Event__Group__0)
-{ after(grammarAccess.getEventAccess().getGroup()); }
+{ before(grammarAccess.getEventAccess().getNameAssignment()); }
+(rule__Event__NameAssignment)
+{ after(grammarAccess.getEventAccess().getNameAssignment()); }
 )
 
 ;
@@ -878,61 +706,7 @@ finally {
 
 
 
-// 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);
-}
 
 
 
@@ -969,7 +743,6 @@ finally {
 
 
 
-
 rule__AbstractControlFlowElement__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -1010,27 +783,6 @@ 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 {
@@ -1131,9 +883,9 @@ rule__AdaptationProcess__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); }
-(rule__AdaptationProcess__IdAssignment_1)
-{ after(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_1()); }
+(rule__AdaptationProcess__NameAssignment_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -1191,11 +943,11 @@ rule__AdaptationProcess__Group__3__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3()); }
 
-	'name' 
+	'goal' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3()); }
 )
 
 ;
@@ -1222,9 +974,9 @@ rule__AdaptationProcess__Group__4__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); }
-(rule__AdaptationProcess__NameAssignment_4)
-{ after(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4()); }
+(rule__AdaptationProcess__GoalAssignment_4)
+{ after(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4()); }
 )
 
 ;
@@ -1251,11 +1003,11 @@ rule__AdaptationProcess__Group__5__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5()); }
 
-	'tactics' 
+	'actions' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5()); }
 )
 
 ;
@@ -1282,11 +1034,11 @@ rule__AdaptationProcess__Group__6__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_6()); }
 
-	'{' 
+	':' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_6()); }
 )
 
 ;
@@ -1313,9 +1065,9 @@ rule__AdaptationProcess__Group__7__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); }
-(rule__AdaptationProcess__TacticsAssignment_7)
-{ after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7()); }
+(rule__AdaptationProcess__ActionsAssignment_7)
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7()); }
 )
 
 ;
@@ -1371,11 +1123,11 @@ rule__AdaptationProcess__Group__9__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9()); }
 
-	'}' 
+	'tactics' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9()); }
 )
 
 ;
@@ -1402,11 +1154,11 @@ rule__AdaptationProcess__Group__10__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_10()); }
 
-	'actions' 
+	':' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_10()); }
 )
 
 ;
@@ -1433,11 +1185,9 @@ rule__AdaptationProcess__Group__11__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); }
-
-	'{' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11()); }
+(rule__AdaptationProcess__TacticsAssignment_11)
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11()); }
 )
 
 ;
@@ -1464,9 +1214,9 @@ rule__AdaptationProcess__Group__12__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); }
-(rule__AdaptationProcess__ActionsAssignment_12)
-{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_12()); }
+(rule__AdaptationProcess__Group_12__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_12()); }
 )
 
 ;
@@ -1493,9 +1243,11 @@ rule__AdaptationProcess__Group__13__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getGroup_13()); }
-(rule__AdaptationProcess__Group_13__0)*
-{ after(grammarAccess.getAdaptationProcessAccess().getGroup_13()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13()); }
+
+	'strategies' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13()); }
 )
 
 ;
@@ -1522,11 +1274,11 @@ rule__AdaptationProcess__Group__14__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_14()); }
 
-	'}' 
+	':' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_14()); }
 )
 
 ;
@@ -1553,11 +1305,9 @@ rule__AdaptationProcess__Group__15__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); }
-
-	'strategies' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15()); }
+(rule__AdaptationProcess__StrategiesAssignment_15)
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15()); }
 )
 
 ;
@@ -1584,11 +1334,9 @@ rule__AdaptationProcess__Group__16__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); }
-
-	'{' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_16()); }
+(rule__AdaptationProcess__Group_16__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_16()); }
 )
 
 ;
@@ -1615,9 +1363,9 @@ rule__AdaptationProcess__Group__17__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); }
-(rule__AdaptationProcess__StrategiesAssignment_17)
-{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_17()); }
+(rule__AdaptationProcess__Group_17__0)?
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_17()); }
 )
 
 ;
@@ -1632,7 +1380,6 @@ rule__AdaptationProcess__Group__18
     }
 :
 	rule__AdaptationProcess__Group__18__Impl
-	rule__AdaptationProcess__Group__19
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -1644,9 +1391,11 @@ rule__AdaptationProcess__Group__18__Impl
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getGroup_18()); }
-(rule__AdaptationProcess__Group_18__0)*
-{ after(grammarAccess.getAdaptationProcessAccess().getGroup_18()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18()); }
+
+	'}' 
+
+{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18()); }
 )
 
 ;
@@ -1655,29 +1404,67 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group__19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationProcess__Group_8__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group__19__Impl
-	rule__AdaptationProcess__Group__20
+	rule__AdaptationProcess__Group_8__0__Impl
+	rule__AdaptationProcess__Group_8__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group__19__Impl
+rule__AdaptationProcess__Group_8__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); }
 
-	'}' 
+	',' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); }
 )
 
 ;
@@ -1686,27 +1473,26 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group__20
+rule__AdaptationProcess__Group_8__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group__20__Impl
-	rule__AdaptationProcess__Group__21
+	rule__AdaptationProcess__Group_8__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group__20__Impl
+rule__AdaptationProcess__Group_8__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getGroup_20()); }
-(rule__AdaptationProcess__Group_20__0)?
-{ after(grammarAccess.getAdaptationProcessAccess().getGroup_20()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1()); }
+(rule__AdaptationProcess__ActionsAssignment_8_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1()); }
 )
 
 ;
@@ -1715,29 +1501,33 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group__21
+
+
+
+
+rule__AdaptationProcess__Group_12__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group__21__Impl
-	rule__AdaptationProcess__Group__22
+	rule__AdaptationProcess__Group_12__0__Impl
+	rule__AdaptationProcess__Group_12__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group__21__Impl
+rule__AdaptationProcess__Group_12__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0()); }
 
-	'goal' 
+	',' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0()); }
 )
 
 ;
@@ -1746,164 +1536,26 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group__22
+rule__AdaptationProcess__Group_12__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group__22__Impl
-	rule__AdaptationProcess__Group__23
+	rule__AdaptationProcess__Group_12__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group__22__Impl
+rule__AdaptationProcess__Group_12__1__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
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__AdaptationProcess__Group__23__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23()); }
-
-	'}' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23()); }
-)
-
-;
-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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1()); }
+(rule__AdaptationProcess__TacticsAssignment_12_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1()); }
 )
 
 ;
@@ -1916,29 +1568,29 @@ finally {
 
 
 
-rule__AdaptationProcess__Group_13__0
+rule__AdaptationProcess__Group_16__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_13__0__Impl
-	rule__AdaptationProcess__Group_13__1
+	rule__AdaptationProcess__Group_16__0__Impl
+	rule__AdaptationProcess__Group_16__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_13__0__Impl
+rule__AdaptationProcess__Group_16__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0()); }
 
 	',' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0()); }
 )
 
 ;
@@ -1947,26 +1599,26 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group_13__1
+rule__AdaptationProcess__Group_16__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_13__1__Impl
+	rule__AdaptationProcess__Group_16__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_13__1__Impl
+rule__AdaptationProcess__Group_16__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); }
-(rule__AdaptationProcess__ActionsAssignment_13_1)
-{ after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1()); }
+(rule__AdaptationProcess__StrategiesAssignment_16_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1()); }
 )
 
 ;
@@ -1979,92 +1631,29 @@ finally {
 
 
 
-rule__AdaptationProcess__Group_18__0
+rule__AdaptationProcess__Group_17__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_18__0__Impl
-	rule__AdaptationProcess__Group_18__1
+	rule__AdaptationProcess__Group_17__0__Impl
+	rule__AdaptationProcess__Group_17__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_18__0__Impl
+rule__AdaptationProcess__Group_17__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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0()); }
 
 	'parameters' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0()); }
 )
 
 ;
@@ -2073,58 +1662,29 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group_20__1
+rule__AdaptationProcess__Group_17__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_20__1__Impl
-	rule__AdaptationProcess__Group_20__2
+	rule__AdaptationProcess__Group_17__1__Impl
+	rule__AdaptationProcess__Group_17__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_20__1__Impl
+rule__AdaptationProcess__Group_17__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
+{ before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1()); }
 
+	':' 
 
-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()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1()); }
 )
 
 ;
@@ -2133,27 +1693,27 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group_20__3
+rule__AdaptationProcess__Group_17__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_20__3__Impl
-	rule__AdaptationProcess__Group_20__4
+	rule__AdaptationProcess__Group_17__2__Impl
+	rule__AdaptationProcess__Group_17__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_20__3__Impl
+rule__AdaptationProcess__Group_17__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); }
-(rule__AdaptationProcess__Group_20_3__0)*
-{ after(grammarAccess.getAdaptationProcessAccess().getGroup_20_3()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2()); }
+(rule__AdaptationProcess__ParametersAssignment_17_2)
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2()); }
 )
 
 ;
@@ -2162,28 +1722,26 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group_20__4
+rule__AdaptationProcess__Group_17__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_20__4__Impl
+	rule__AdaptationProcess__Group_17__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_20__4__Impl
+rule__AdaptationProcess__Group_17__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGroup_17_3()); }
+(rule__AdaptationProcess__Group_17_3__0)*
+{ after(grammarAccess.getAdaptationProcessAccess().getGroup_17_3()); }
 )
 
 ;
@@ -2200,31 +1758,29 @@ finally {
 
 
 
-
-
-rule__AdaptationProcess__Group_20_3__0
+rule__AdaptationProcess__Group_17_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_20_3__0__Impl
-	rule__AdaptationProcess__Group_20_3__1
+	rule__AdaptationProcess__Group_17_3__0__Impl
+	rule__AdaptationProcess__Group_17_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_20_3__0__Impl
+rule__AdaptationProcess__Group_17_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0()); }
 
 	',' 
 
-{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); }
+{ after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0()); }
 )
 
 ;
@@ -2233,26 +1789,26 @@ finally {
 }
 
 
-rule__AdaptationProcess__Group_20_3__1
+rule__AdaptationProcess__Group_17_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationProcess__Group_20_3__1__Impl
+	rule__AdaptationProcess__Group_17_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationProcess__Group_20_3__1__Impl
+rule__AdaptationProcess__Group_17_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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1()); }
+(rule__AdaptationProcess__ParametersAssignment_17_3_1)
+{ after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1()); }
 )
 
 ;
@@ -2314,9 +1870,9 @@ rule__Tactic__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getIdAssignment_1()); }
-(rule__Tactic__IdAssignment_1)
-{ after(grammarAccess.getTacticAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getTacticAccess().getNameAssignment_1()); }
+(rule__Tactic__NameAssignment_1)
+{ after(grammarAccess.getTacticAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -2374,11 +1930,9 @@ rule__Tactic__Group__3__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getNameKeyword_3()); }
-
-	'name' 
-
-{ after(grammarAccess.getTacticAccess().getNameKeyword_3()); }
+{ before(grammarAccess.getTacticAccess().getGroup_3()); }
+(rule__Tactic__Group_3__0)?
+{ after(grammarAccess.getTacticAccess().getGroup_3()); }
 )
 
 ;
@@ -2405,9 +1959,9 @@ rule__Tactic__Group__4__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getNameAssignment_4()); }
-(rule__Tactic__NameAssignment_4)
-{ after(grammarAccess.getTacticAccess().getNameAssignment_4()); }
+{ before(grammarAccess.getTacticAccess().getGroup_4()); }
+(rule__Tactic__Group_4__0)?
+{ after(grammarAccess.getTacticAccess().getGroup_4()); }
 )
 
 ;
@@ -2434,9 +1988,11 @@ rule__Tactic__Group__5__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getGroup_5()); }
-(rule__Tactic__Group_5__0)?
-{ after(grammarAccess.getTacticAccess().getGroup_5()); }
+{ before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_5()); }
+
+	'implementedPlan' 
+
+{ after(grammarAccess.getTacticAccess().getImplementedPlanKeyword_5()); }
 )
 
 ;
@@ -2463,9 +2019,11 @@ rule__Tactic__Group__6__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getGroup_6()); }
-(rule__Tactic__Group_6__0)?
-{ after(grammarAccess.getTacticAccess().getGroup_6()); }
+{ before(grammarAccess.getTacticAccess().getColonKeyword_6()); }
+
+	':' 
+
+{ after(grammarAccess.getTacticAccess().getColonKeyword_6()); }
 )
 
 ;
@@ -2492,11 +2050,9 @@ rule__Tactic__Group__7__Impl
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); }
-
-	'implementedPlan' 
-
-{ after(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); }
+{ before(grammarAccess.getTacticAccess().getImplementedPlanAssignment_7()); }
+(rule__Tactic__ImplementedPlanAssignment_7)
+{ after(grammarAccess.getTacticAccess().getImplementedPlanAssignment_7()); }
 )
 
 ;
@@ -2511,7 +2067,6 @@ rule__Tactic__Group__8
     }
 :
 	rule__Tactic__Group__8__Impl
-	rule__Tactic__Group__9
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -2523,39 +2078,11 @@ rule__Tactic__Group__8__Impl
     }
 :
 (
-{ 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()); }
+{ before(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8()); }
 
 	'}' 
 
-{ after(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); }
+{ after(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8()); }
 )
 
 ;
@@ -2582,31 +2109,29 @@ finally {
 
 
 
-
-
-rule__Tactic__Group_5__0
+rule__Tactic__Group_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5__0__Impl
-	rule__Tactic__Group_5__1
+	rule__Tactic__Group_3__0__Impl
+	rule__Tactic__Group_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5__0__Impl
+rule__Tactic__Group_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); }
+{ before(grammarAccess.getTacticAccess().getInputKeyword_3_0()); }
 
-	'inputParams' 
+	'input' 
 
-{ after(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); }
+{ after(grammarAccess.getTacticAccess().getInputKeyword_3_0()); }
 )
 
 ;
@@ -2615,29 +2140,29 @@ finally {
 }
 
 
-rule__Tactic__Group_5__1
+rule__Tactic__Group_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5__1__Impl
-	rule__Tactic__Group_5__2
+	rule__Tactic__Group_3__1__Impl
+	rule__Tactic__Group_3__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5__1__Impl
+rule__Tactic__Group_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); }
+{ before(grammarAccess.getTacticAccess().getColonKeyword_3_1()); }
 
-	'(' 
+	':' 
 
-{ after(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); }
+{ after(grammarAccess.getTacticAccess().getColonKeyword_3_1()); }
 )
 
 ;
@@ -2646,27 +2171,27 @@ finally {
 }
 
 
-rule__Tactic__Group_5__2
+rule__Tactic__Group_3__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5__2__Impl
-	rule__Tactic__Group_5__3
+	rule__Tactic__Group_3__2__Impl
+	rule__Tactic__Group_3__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5__2__Impl
+rule__Tactic__Group_3__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); }
-(rule__Tactic__InputParamsAssignment_5_2)
-{ after(grammarAccess.getTacticAccess().getInputParamsAssignment_5_2()); }
+{ before(grammarAccess.getTacticAccess().getInputParamsAssignment_3_2()); }
+(rule__Tactic__InputParamsAssignment_3_2)
+{ after(grammarAccess.getTacticAccess().getInputParamsAssignment_3_2()); }
 )
 
 ;
@@ -2675,27 +2200,26 @@ finally {
 }
 
 
-rule__Tactic__Group_5__3
+rule__Tactic__Group_3__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5__3__Impl
-	rule__Tactic__Group_5__4
+	rule__Tactic__Group_3__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5__3__Impl
+rule__Tactic__Group_3__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getGroup_5_3()); }
-(rule__Tactic__Group_5_3__0)*
-{ after(grammarAccess.getTacticAccess().getGroup_5_3()); }
+{ before(grammarAccess.getTacticAccess().getGroup_3_3()); }
+(rule__Tactic__Group_3_3__0)*
+{ after(grammarAccess.getTacticAccess().getGroup_3_3()); }
 )
 
 ;
@@ -2704,28 +2228,37 @@ finally {
 }
 
 
-rule__Tactic__Group_5__4
+
+
+
+
+
+
+
+
+rule__Tactic__Group_3_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5__4__Impl
+	rule__Tactic__Group_3_3__0__Impl
+	rule__Tactic__Group_3_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5__4__Impl
+rule__Tactic__Group_3_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); }
+{ before(grammarAccess.getTacticAccess().getCommaKeyword_3_3_0()); }
 
-	')' 
+	',' 
 
-{ after(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); }
+{ after(grammarAccess.getTacticAccess().getCommaKeyword_3_3_0()); }
 )
 
 ;
@@ -2734,39 +2267,26 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-rule__Tactic__Group_5_3__0
+rule__Tactic__Group_3_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5_3__0__Impl
-	rule__Tactic__Group_5_3__1
+	rule__Tactic__Group_3_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5_3__0__Impl
+rule__Tactic__Group_3_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); }
+{ before(grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1()); }
+(rule__Tactic__InputParamsAssignment_3_3_1)
+{ after(grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1()); }
 )
 
 ;
@@ -2775,26 +2295,33 @@ finally {
 }
 
 
-rule__Tactic__Group_5_3__1
+
+
+
+
+rule__Tactic__Group_4__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_5_3__1__Impl
+	rule__Tactic__Group_4__0__Impl
+	rule__Tactic__Group_4__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_5_3__1__Impl
+rule__Tactic__Group_4__0__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()); }
+{ before(grammarAccess.getTacticAccess().getOutputKeyword_4_0()); }
+
+	'output' 
+
+{ after(grammarAccess.getTacticAccess().getOutputKeyword_4_0()); }
 )
 
 ;
@@ -2803,33 +2330,29 @@ finally {
 }
 
 
-
-
-
-
-rule__Tactic__Group_6__0
+rule__Tactic__Group_4__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_6__0__Impl
-	rule__Tactic__Group_6__1
+	rule__Tactic__Group_4__1__Impl
+	rule__Tactic__Group_4__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_6__0__Impl
+rule__Tactic__Group_4__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); }
+{ before(grammarAccess.getTacticAccess().getColonKeyword_4_1()); }
 
-	'outputParam' 
+	':' 
 
-{ after(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); }
+{ after(grammarAccess.getTacticAccess().getColonKeyword_4_1()); }
 )
 
 ;
@@ -2838,26 +2361,26 @@ finally {
 }
 
 
-rule__Tactic__Group_6__1
+rule__Tactic__Group_4__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Tactic__Group_6__1__Impl
+	rule__Tactic__Group_4__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Tactic__Group_6__1__Impl
+rule__Tactic__Group_4__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); }
-(rule__Tactic__OutputParamAssignment_6_1)
-{ after(grammarAccess.getTacticAccess().getOutputParamAssignment_6_1()); }
+{ before(grammarAccess.getTacticAccess().getOutputParamAssignment_4_2()); }
+(rule__Tactic__OutputParamAssignment_4_2)
+{ after(grammarAccess.getTacticAccess().getOutputParamAssignment_4_2()); }
 )
 
 ;
@@ -2870,6 +2393,8 @@ finally {
 
 
 
+
+
 rule__Action__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -2919,9 +2444,9 @@ rule__Action__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getIdAssignment_1()); }
-(rule__Action__IdAssignment_1)
-{ after(grammarAccess.getActionAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getActionAccess().getNameAssignment_1()); }
+(rule__Action__NameAssignment_1)
+{ after(grammarAccess.getActionAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -2979,11 +2504,9 @@ rule__Action__Group__3__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getNameKeyword_3()); }
-
-	'name' 
-
-{ after(grammarAccess.getActionAccess().getNameKeyword_3()); }
+{ before(grammarAccess.getActionAccess().getGroup_3()); }
+(rule__Action__Group_3__0)?
+{ after(grammarAccess.getActionAccess().getGroup_3()); }
 )
 
 ;
@@ -3010,9 +2533,9 @@ rule__Action__Group__4__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getNameAssignment_4()); }
-(rule__Action__NameAssignment_4)
-{ after(grammarAccess.getActionAccess().getNameAssignment_4()); }
+{ before(grammarAccess.getActionAccess().getGroup_4()); }
+(rule__Action__Group_4__0)?
+{ after(grammarAccess.getActionAccess().getGroup_4()); }
 )
 
 ;
@@ -3039,9 +2562,11 @@ rule__Action__Group__5__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getGroup_5()); }
-(rule__Action__Group_5__0)?
-{ after(grammarAccess.getActionAccess().getGroup_5()); }
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5()); }
+
+	'referredAdaptationPoint' 
+
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5()); }
 )
 
 ;
@@ -3068,9 +2593,11 @@ rule__Action__Group__6__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getGroup_6()); }
-(rule__Action__Group_6__0)?
-{ after(grammarAccess.getActionAccess().getGroup_6()); }
+{ before(grammarAccess.getActionAccess().getColonKeyword_6()); }
+
+	':' 
+
+{ after(grammarAccess.getActionAccess().getColonKeyword_6()); }
 )
 
 ;
@@ -3097,11 +2624,9 @@ rule__Action__Group__7__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); }
-
-	'referredAdaptationPoint' 
-
-{ after(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); }
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7()); }
+(rule__Action__ReferredAdaptationPointAssignment_7)
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7()); }
 )
 
 ;
@@ -3128,9 +2653,11 @@ rule__Action__Group__8__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); }
-(rule__Action__ReferredAdaptationPointAssignment_8)
-{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); }
+{ before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8()); }
+
+	'adaptationActionOperation' 
+
+{ after(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8()); }
 )
 
 ;
@@ -3157,11 +2684,11 @@ rule__Action__Group__9__Impl
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); }
+{ before(grammarAccess.getActionAccess().getColonKeyword_9()); }
 
-	'adaptationActionOperation' 
+	':' 
 
-{ after(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); }
+{ after(grammarAccess.getActionAccess().getColonKeyword_9()); }
 )
 
 ;
@@ -3253,29 +2780,29 @@ finally {
 
 
 
-rule__Action__Group_5__0
+rule__Action__Group_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_5__0__Impl
-	rule__Action__Group_5__1
+	rule__Action__Group_3__0__Impl
+	rule__Action__Group_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_5__0__Impl
+rule__Action__Group_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); }
+{ before(grammarAccess.getActionAccess().getInputKeyword_3_0()); }
 
-	'outputParam' 
+	'input' 
 
-{ after(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); }
+{ after(grammarAccess.getActionAccess().getInputKeyword_3_0()); }
 )
 
 ;
@@ -3284,26 +2811,29 @@ finally {
 }
 
 
-rule__Action__Group_5__1
+rule__Action__Group_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_5__1__Impl
+	rule__Action__Group_3__1__Impl
+	rule__Action__Group_3__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_5__1__Impl
+rule__Action__Group_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); }
-(rule__Action__OutputParamAssignment_5_1)
-{ after(grammarAccess.getActionAccess().getOutputParamAssignment_5_1()); }
+{ before(grammarAccess.getActionAccess().getColonKeyword_3_1()); }
+
+	':' 
+
+{ after(grammarAccess.getActionAccess().getColonKeyword_3_1()); }
 )
 
 ;
@@ -3312,33 +2842,27 @@ finally {
 }
 
 
-
-
-
-
-rule__Action__Group_6__0
+rule__Action__Group_3__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6__0__Impl
-	rule__Action__Group_6__1
+	rule__Action__Group_3__2__Impl
+	rule__Action__Group_3__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6__0__Impl
+rule__Action__Group_3__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); }
-
-	'inputParams' 
-
-{ after(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); }
+{ before(grammarAccess.getActionAccess().getInputParamsAssignment_3_2()); }
+(rule__Action__InputParamsAssignment_3_2)
+{ after(grammarAccess.getActionAccess().getInputParamsAssignment_3_2()); }
 )
 
 ;
@@ -3347,29 +2871,26 @@ finally {
 }
 
 
-rule__Action__Group_6__1
+rule__Action__Group_3__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6__1__Impl
-	rule__Action__Group_6__2
+	rule__Action__Group_3__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6__1__Impl
+rule__Action__Group_3__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); }
-
-	'(' 
-
-{ after(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); }
+{ before(grammarAccess.getActionAccess().getGroup_3_3()); }
+(rule__Action__Group_3_3__0)*
+{ after(grammarAccess.getActionAccess().getGroup_3_3()); }
 )
 
 ;
@@ -3378,27 +2899,37 @@ finally {
 }
 
 
-rule__Action__Group_6__2
+
+
+
+
+
+
+
+
+rule__Action__Group_3_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6__2__Impl
-	rule__Action__Group_6__3
+	rule__Action__Group_3_3__0__Impl
+	rule__Action__Group_3_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6__2__Impl
+rule__Action__Group_3_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); }
-(rule__Action__InputParamsAssignment_6_2)
-{ after(grammarAccess.getActionAccess().getInputParamsAssignment_6_2()); }
+{ before(grammarAccess.getActionAccess().getCommaKeyword_3_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getActionAccess().getCommaKeyword_3_3_0()); }
 )
 
 ;
@@ -3407,27 +2938,26 @@ finally {
 }
 
 
-rule__Action__Group_6__3
+rule__Action__Group_3_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6__3__Impl
-	rule__Action__Group_6__4
+	rule__Action__Group_3_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6__3__Impl
+rule__Action__Group_3_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getGroup_6_3()); }
-(rule__Action__Group_6_3__0)*
-{ after(grammarAccess.getActionAccess().getGroup_6_3()); }
+{ before(grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1()); }
+(rule__Action__InputParamsAssignment_3_3_1)
+{ after(grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1()); }
 )
 
 ;
@@ -3436,28 +2966,33 @@ finally {
 }
 
 
-rule__Action__Group_6__4
+
+
+
+
+rule__Action__Group_4__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6__4__Impl
+	rule__Action__Group_4__0__Impl
+	rule__Action__Group_4__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6__4__Impl
+rule__Action__Group_4__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); }
+{ before(grammarAccess.getActionAccess().getOutputKeyword_4_0()); }
 
-	')' 
+	'output' 
 
-{ after(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); }
+{ after(grammarAccess.getActionAccess().getOutputKeyword_4_0()); }
 )
 
 ;
@@ -3466,39 +3001,29 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-rule__Action__Group_6_3__0
+rule__Action__Group_4__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6_3__0__Impl
-	rule__Action__Group_6_3__1
+	rule__Action__Group_4__1__Impl
+	rule__Action__Group_4__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6_3__0__Impl
+rule__Action__Group_4__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); }
+{ before(grammarAccess.getActionAccess().getColonKeyword_4_1()); }
 
-	',' 
+	':' 
 
-{ after(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); }
+{ after(grammarAccess.getActionAccess().getColonKeyword_4_1()); }
 )
 
 ;
@@ -3507,26 +3032,26 @@ finally {
 }
 
 
-rule__Action__Group_6_3__1
+rule__Action__Group_4__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Action__Group_6_3__1__Impl
+	rule__Action__Group_4__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Action__Group_6_3__1__Impl
+rule__Action__Group_4__2__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()); }
+{ before(grammarAccess.getActionAccess().getOutputParamAssignment_4_2()); }
+(rule__Action__OutputParamAssignment_4_2)
+{ after(grammarAccess.getActionAccess().getOutputParamAssignment_4_2()); }
 )
 
 ;
@@ -3539,6 +3064,8 @@ finally {
 
 
 
+
+
 rule__Strategy__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -3588,9 +3115,9 @@ rule__Strategy__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getIdAssignment_1()); }
-(rule__Strategy__IdAssignment_1)
-{ after(grammarAccess.getStrategyAccess().getIdAssignment_1()); }
+{ before(grammarAccess.getStrategyAccess().getNameAssignment_1()); }
+(rule__Strategy__NameAssignment_1)
+{ after(grammarAccess.getStrategyAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -3648,11 +3175,11 @@ rule__Strategy__Group__3__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getNameKeyword_3()); }
+{ before(grammarAccess.getStrategyAccess().getObjectiveKeyword_3()); }
 
-	'name' 
+	'objective' 
 
-{ after(grammarAccess.getStrategyAccess().getNameKeyword_3()); }
+{ after(grammarAccess.getStrategyAccess().getObjectiveKeyword_3()); }
 )
 
 ;
@@ -3679,9 +3206,11 @@ rule__Strategy__Group__4__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getNameAssignment_4()); }
-(rule__Strategy__NameAssignment_4)
-{ after(grammarAccess.getStrategyAccess().getNameAssignment_4()); }
+{ before(grammarAccess.getStrategyAccess().getEqualsSignKeyword_4()); }
+
+	'=' 
+
+{ after(grammarAccess.getStrategyAccess().getEqualsSignKeyword_4()); }
 )
 
 ;
@@ -3708,11 +3237,9 @@ rule__Strategy__Group__5__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); }
-
-	'objective' 
-
-{ after(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); }
+{ before(grammarAccess.getStrategyAccess().getObjectiveAssignment_5()); }
+(rule__Strategy__ObjectiveAssignment_5)
+{ after(grammarAccess.getStrategyAccess().getObjectiveAssignment_5()); }
 )
 
 ;
@@ -3739,9 +3266,11 @@ rule__Strategy__Group__6__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); }
-(rule__Strategy__ObjectiveAssignment_6)
-{ after(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); }
+{ before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6()); }
+
+	'triggeringEvents' 
+
+{ after(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6()); }
 )
 
 ;
@@ -3768,11 +3297,11 @@ rule__Strategy__Group__7__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); }
+{ before(grammarAccess.getStrategyAccess().getEqualsSignKeyword_7()); }
 
-	'triggeringEvents' 
+	'=' 
 
-{ after(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); }
+{ after(grammarAccess.getStrategyAccess().getEqualsSignKeyword_7()); }
 )
 
 ;
@@ -3859,11 +3388,11 @@ rule__Strategy__Group__10__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); }
+{ before(grammarAccess.getStrategyAccess().getColonKeyword_10()); }
 
-	'{' 
+	':' 
 
-{ after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); }
+{ after(grammarAccess.getStrategyAccess().getColonKeyword_10()); }
 )
 
 ;
@@ -3948,11 +3477,11 @@ rule__Strategy__Group__13__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); }
+{ before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13()); }
 
-	'}' 
+	'weightingFunction' 
 
-{ after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); }
+{ after(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13()); }
 )
 
 ;
@@ -3979,11 +3508,11 @@ rule__Strategy__Group__14__Impl
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); }
+{ before(grammarAccess.getStrategyAccess().getColonKeyword_14()); }
 
-	'weightingFunction' 
+	':' 
 
-{ after(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); }
+{ after(grammarAccess.getStrategyAccess().getColonKeyword_14()); }
 )
 
 ;
@@ -4166,11 +3695,9 @@ rule__Parameter__Group__0__Impl
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getParameterKeyword_0()); }
-
-	'Parameter' 
-
-{ after(grammarAccess.getParameterAccess().getParameterKeyword_0()); }
+{ before(grammarAccess.getParameterAccess().getTypeAssignment_0()); }
+(rule__Parameter__TypeAssignment_0)
+{ after(grammarAccess.getParameterAccess().getTypeAssignment_0()); }
 )
 
 ;
@@ -4185,7 +3712,6 @@ rule__Parameter__Group__1
     }
 :
 	rule__Parameter__Group__1__Impl
-	rule__Parameter__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -4208,29 +3734,33 @@ finally {
 }
 
 
-rule__Parameter__Group__2
+
+
+
+
+rule__OverallGoal__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Parameter__Group__2__Impl
-	rule__Parameter__Group__3
+	rule__OverallGoal__Group__0__Impl
+	rule__OverallGoal__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__Group__2__Impl
+rule__OverallGoal__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); }
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0()); }
 
-	'{' 
+	'Description' 
 
-{ after(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); }
+{ after(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0()); }
 )
 
 ;
@@ -4239,29 +3769,29 @@ finally {
 }
 
 
-rule__Parameter__Group__3
+rule__OverallGoal__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Parameter__Group__3__Impl
-	rule__Parameter__Group__4
+	rule__OverallGoal__Group__1__Impl
+	rule__OverallGoal__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__Group__3__Impl
+rule__OverallGoal__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getTypeKeyword_3()); }
+{ before(grammarAccess.getOverallGoalAccess().getColonKeyword_1()); }
 
-	'type' 
+	':' 
 
-{ after(grammarAccess.getParameterAccess().getTypeKeyword_3()); }
+{ after(grammarAccess.getOverallGoalAccess().getColonKeyword_1()); }
 )
 
 ;
@@ -4270,27 +3800,27 @@ finally {
 }
 
 
-rule__Parameter__Group__4
+rule__OverallGoal__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Parameter__Group__4__Impl
-	rule__Parameter__Group__5
+	rule__OverallGoal__Group__2__Impl
+	rule__OverallGoal__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__Group__4__Impl
+rule__OverallGoal__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getTypeAssignment_4()); }
-(rule__Parameter__TypeAssignment_4)
-{ after(grammarAccess.getParameterAccess().getTypeAssignment_4()); }
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2()); }
+(rule__OverallGoal__DescriptionAssignment_2)
+{ after(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2()); }
 )
 
 ;
@@ -4299,28 +3829,29 @@ finally {
 }
 
 
-rule__Parameter__Group__5
+rule__OverallGoal__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Parameter__Group__5__Impl
+	rule__OverallGoal__Group__3__Impl
+	rule__OverallGoal__Group__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__Group__5__Impl
+rule__OverallGoal__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5()); }
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3()); }
 
-	'}' 
+	'objectives' 
 
-{ after(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5()); }
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3()); }
 )
 
 ;
@@ -4329,41 +3860,29 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-rule__OverallGoal__Group__0
+rule__OverallGoal__Group__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__0__Impl
-	rule__OverallGoal__Group__1
+	rule__OverallGoal__Group__4__Impl
+	rule__OverallGoal__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__0__Impl
+rule__OverallGoal__Group__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); }
+{ before(grammarAccess.getOverallGoalAccess().getColonKeyword_4()); }
 
-	'OverallGoal' 
+	':' 
 
-{ after(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); }
+{ after(grammarAccess.getOverallGoalAccess().getColonKeyword_4()); }
 )
 
 ;
@@ -4372,29 +3891,27 @@ finally {
 }
 
 
-rule__OverallGoal__Group__1
+rule__OverallGoal__Group__5
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__1__Impl
-	rule__OverallGoal__Group__2
+	rule__OverallGoal__Group__5__Impl
+	rule__OverallGoal__Group__6
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__1__Impl
+rule__OverallGoal__Group__5__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); }
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5()); }
+(rule__OverallGoal__ObjectivesAssignment_5)
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5()); }
 )
 
 ;
@@ -4403,29 +3920,26 @@ finally {
 }
 
 
-rule__OverallGoal__Group__2
+rule__OverallGoal__Group__6
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__2__Impl
-	rule__OverallGoal__Group__3
+	rule__OverallGoal__Group__6__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__2__Impl
+rule__OverallGoal__Group__6__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); }
-
-	'description' 
-
-{ after(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); }
+{ before(grammarAccess.getOverallGoalAccess().getGroup_6()); }
+(rule__OverallGoal__Group_6__0)*
+{ after(grammarAccess.getOverallGoalAccess().getGroup_6()); }
 )
 
 ;
@@ -4434,58 +3948,43 @@ finally {
 }
 
 
-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
+
+
+
+
+
+
+
+
+
+
+rule__OverallGoal__Group_6__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__4__Impl
-	rule__OverallGoal__Group__5
+	rule__OverallGoal__Group_6__0__Impl
+	rule__OverallGoal__Group_6__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__4__Impl
+rule__OverallGoal__Group_6__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); }
+{ before(grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0()); }
 
-	'objectives' 
+	',' 
 
-{ after(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); }
+{ after(grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0()); }
 )
 
 ;
@@ -4494,29 +3993,26 @@ finally {
 }
 
 
-rule__OverallGoal__Group__5
+rule__OverallGoal__Group_6__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__5__Impl
-	rule__OverallGoal__Group__6
+	rule__OverallGoal__Group_6__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__5__Impl
+rule__OverallGoal__Group_6__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); }
-
-	'{' 
-
-{ after(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); }
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1()); }
+(rule__OverallGoal__ObjectivesAssignment_6_1)
+{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1()); }
 )
 
 ;
@@ -4525,27 +4021,31 @@ finally {
 }
 
 
-rule__OverallGoal__Group__6
+
+
+
+
+rule__AdaptationPlan__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__6__Impl
-	rule__OverallGoal__Group__7
+	rule__AdaptationPlan__Group__0__Impl
+	rule__AdaptationPlan__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__6__Impl
+rule__AdaptationPlan__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); }
-(rule__OverallGoal__ObjectivesAssignment_6)
-{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0()); }
+(rule__AdaptationPlan__StepsAssignment_0)
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0()); }
 )
 
 ;
@@ -4554,27 +4054,27 @@ finally {
 }
 
 
-rule__OverallGoal__Group__7
+rule__AdaptationPlan__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__7__Impl
-	rule__OverallGoal__Group__8
+	rule__AdaptationPlan__Group__1__Impl
+	rule__AdaptationPlan__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__7__Impl
+rule__AdaptationPlan__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getGroup_7()); }
-(rule__OverallGoal__Group_7__0)*
-{ after(grammarAccess.getOverallGoalAccess().getGroup_7()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getGroup_1()); }
+(rule__AdaptationPlan__Group_1__0)*
+{ after(grammarAccess.getAdaptationPlanAccess().getGroup_1()); }
 )
 
 ;
@@ -4583,29 +4083,29 @@ finally {
 }
 
 
-rule__OverallGoal__Group__8
+rule__AdaptationPlan__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__8__Impl
-	rule__OverallGoal__Group__9
+	rule__AdaptationPlan__Group__2__Impl
+	rule__AdaptationPlan__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__8__Impl
+rule__AdaptationPlan__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2()); }
 
-	'}' 
+	',' 
 
-{ after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); }
+{ after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2()); }
 )
 
 ;
@@ -4614,28 +4114,26 @@ finally {
 }
 
 
-rule__OverallGoal__Group__9
+rule__AdaptationPlan__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group__9__Impl
+	rule__AdaptationPlan__Group__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group__9__Impl
+rule__AdaptationPlan__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); }
-
-	'}' 
-
-{ after(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3()); }
+(rule__AdaptationPlan__StepsAssignment_3)
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3()); }
 )
 
 ;
@@ -4652,41 +4150,29 @@ finally {
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-rule__OverallGoal__Group_7__0
+rule__AdaptationPlan__Group_1__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group_7__0__Impl
-	rule__OverallGoal__Group_7__1
+	rule__AdaptationPlan__Group_1__0__Impl
+	rule__AdaptationPlan__Group_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group_7__0__Impl
+rule__AdaptationPlan__Group_1__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0()); }
 
 	',' 
 
-{ after(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); }
+{ after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0()); }
 )
 
 ;
@@ -4695,26 +4181,26 @@ finally {
 }
 
 
-rule__OverallGoal__Group_7__1
+rule__AdaptationPlan__Group_1__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__OverallGoal__Group_7__1__Impl
+	rule__AdaptationPlan__Group_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__Group_7__1__Impl
+rule__AdaptationPlan__Group_1__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); }
-(rule__OverallGoal__ObjectivesAssignment_7_1)
-{ after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1()); }
+(rule__AdaptationPlan__StepsAssignment_1_1)
+{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1()); }
 )
 
 ;
@@ -4727,29 +4213,29 @@ finally {
 
 
 
-rule__AdaptationPlan__Group__0
+rule__StartAction__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__0__Impl
-	rule__AdaptationPlan__Group__1
+	rule__StartAction__Group__0__Impl
+	rule__StartAction__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__0__Impl
+rule__StartAction__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); }
-
-	'AdaptationPlan' 
+{ before(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
+(
 
-{ after(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); }
+)
+{ after(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
 )
 
 ;
@@ -4758,28 +4244,29 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__1
+rule__StartAction__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__1__Impl
-	rule__AdaptationPlan__Group__2
+	rule__StartAction__Group__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__1__Impl
+rule__StartAction__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); }
-(rule__AdaptationPlan__IdAssignment_1)
-{ after(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); }
-)
+{ before(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); }
+
+	'StartAction' 
+
+{ after(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); }
+)
 
 ;
 finally {
@@ -4787,29 +4274,34 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__2
+
+
+
+
+
+rule__EDouble__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__2__Impl
-	rule__AdaptationPlan__Group__3
+	rule__EDouble__Group__0__Impl
+	rule__EDouble__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__2__Impl
+rule__EDouble__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); }
-
-	'{' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); }
+{ before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); }
+(
+	'-' 
+)?
+{ after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); }
 )
 
 ;
@@ -4818,29 +4310,27 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__3
+rule__EDouble__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__3__Impl
-	rule__AdaptationPlan__Group__4
+	rule__EDouble__Group__1__Impl
+	rule__EDouble__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__3__Impl
+rule__EDouble__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); }
-
-	'name' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); }
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); }
+(	RULE_INT)?
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); }
 )
 
 ;
@@ -4849,27 +4339,29 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__4
+rule__EDouble__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__4__Impl
-	rule__AdaptationPlan__Group__5
+	rule__EDouble__Group__2__Impl
+	rule__EDouble__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__4__Impl
+rule__EDouble__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); }
-(rule__AdaptationPlan__NameAssignment_4)
-{ after(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); }
+{ before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); }
+
+	'.' 
+
+{ after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); }
 )
 
 ;
@@ -4878,27 +4370,27 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__5
+rule__EDouble__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__5__Impl
-	rule__AdaptationPlan__Group__6
+	rule__EDouble__Group__3__Impl
+	rule__EDouble__Group__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__5__Impl
+rule__EDouble__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getGroup_5()); }
-(rule__AdaptationPlan__Group_5__0)?
-{ after(grammarAccess.getAdaptationPlanAccess().getGroup_5()); }
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); }
+	RULE_INT
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); }
 )
 
 ;
@@ -4907,28 +4399,26 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group__6
+rule__EDouble__Group__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group__6__Impl
+	rule__EDouble__Group__4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group__6__Impl
+rule__EDouble__Group__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); }
+{ before(grammarAccess.getEDoubleAccess().getGroup_4()); }
+(rule__EDouble__Group_4__0)?
+{ after(grammarAccess.getEDoubleAccess().getGroup_4()); }
 )
 
 ;
@@ -4947,33 +4437,27 @@ finally {
 
 
 
-
-
-
-
-rule__AdaptationPlan__Group_5__0
+rule__EDouble__Group_4__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5__0__Impl
-	rule__AdaptationPlan__Group_5__1
+	rule__EDouble__Group_4__0__Impl
+	rule__EDouble__Group_4__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5__0__Impl
+rule__EDouble__Group_4__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); }
-
-	'steps' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); }
+{ before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); }
+(rule__EDouble__Alternatives_4_0)
+{ after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); }
 )
 
 ;
@@ -4982,29 +4466,29 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group_5__1
+rule__EDouble__Group_4__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5__1__Impl
-	rule__AdaptationPlan__Group_5__2
+	rule__EDouble__Group_4__1__Impl
+	rule__EDouble__Group_4__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5__1__Impl
+rule__EDouble__Group_4__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); }
-
-	'{' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); }
+{ before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); }
+(
+	'-' 
+)?
+{ after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); }
 )
 
 ;
@@ -5013,27 +4497,26 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group_5__2
+rule__EDouble__Group_4__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5__2__Impl
-	rule__AdaptationPlan__Group_5__3
+	rule__EDouble__Group_4__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5__2__Impl
+rule__EDouble__Group_4__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); }
-(rule__AdaptationPlan__StepsAssignment_5_2)
-{ after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2()); }
+{ before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); }
+	RULE_INT
+{ after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); }
 )
 
 ;
@@ -5042,57 +4525,35 @@ finally {
 }
 
 
-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
+
+
+rule__Objective__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5__4__Impl
+	rule__Objective__Group__0__Impl
+	rule__Objective__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5__4__Impl
+rule__Objective__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); }
+{ before(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); }
 
-	'}' 
+	'Objective' 
 
-{ after(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); }
+{ after(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); }
 )
 
 ;
@@ -5101,39 +4562,27 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-rule__AdaptationPlan__Group_5_3__0
+rule__Objective__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5_3__0__Impl
-	rule__AdaptationPlan__Group_5_3__1
+	rule__Objective__Group__1__Impl
+	rule__Objective__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5_3__0__Impl
+rule__Objective__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); }
+{ before(grammarAccess.getObjectiveAccess().getNameAssignment_1()); }
+(rule__Objective__NameAssignment_1)
+{ after(grammarAccess.getObjectiveAccess().getNameAssignment_1()); }
 )
 
 ;
@@ -5142,26 +4591,29 @@ finally {
 }
 
 
-rule__AdaptationPlan__Group_5_3__1
+rule__Objective__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__AdaptationPlan__Group_5_3__1__Impl
+	rule__Objective__Group__2__Impl
+	rule__Objective__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__Group_5_3__1__Impl
+rule__Objective__Group__2__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()); }
+{ before(grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2()); }
+
+	'=' 
+
+{ after(grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2()); }
 )
 
 ;
@@ -5170,33 +4622,26 @@ finally {
 }
 
 
-
-
-
-
-rule__StartAction__Group__0
+rule__Objective__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__0__Impl
-	rule__StartAction__Group__1
+	rule__Objective__Group__3__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__0__Impl
+rule__Objective__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
-(
-
-)
-{ after(grammarAccess.getStartActionAccess().getStartActionAction_0()); }
+{ before(grammarAccess.getObjectiveAccess().getSpecificationAssignment_3()); }
+(rule__Objective__SpecificationAssignment_3)
+{ after(grammarAccess.getObjectiveAccess().getSpecificationAssignment_3()); }
 )
 
 ;
@@ -5205,58 +4650,35 @@ finally {
 }
 
 
-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
+
+
+rule__WeightedTactic__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__2__Impl
-	rule__StartAction__Group__3
+	rule__WeightedTactic__Group__0__Impl
+	rule__WeightedTactic__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__2__Impl
+rule__WeightedTactic__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getIdAssignment_2()); }
-(rule__StartAction__IdAssignment_2)
-{ after(grammarAccess.getStartActionAccess().getIdAssignment_2()); }
+{ before(grammarAccess.getWeightedTacticAccess().getNameAssignment_0()); }
+(rule__WeightedTactic__NameAssignment_0)
+{ after(grammarAccess.getWeightedTacticAccess().getNameAssignment_0()); }
 )
 
 ;
@@ -5265,29 +4687,29 @@ finally {
 }
 
 
-rule__StartAction__Group__3
+rule__WeightedTactic__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__3__Impl
-	rule__StartAction__Group__4
+	rule__WeightedTactic__Group__1__Impl
+	rule__WeightedTactic__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__3__Impl
+rule__WeightedTactic__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); }
+{ before(grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1()); }
 
-	'{' 
+	'=' 
 
-{ after(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); }
+{ after(grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1()); }
 )
 
 ;
@@ -5296,27 +4718,27 @@ finally {
 }
 
 
-rule__StartAction__Group__4
+rule__WeightedTactic__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__4__Impl
-	rule__StartAction__Group__5
+	rule__WeightedTactic__Group__2__Impl
+	rule__WeightedTactic__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__4__Impl
+rule__WeightedTactic__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getGroup_4()); }
-(rule__StartAction__Group_4__0)?
-{ after(grammarAccess.getStartActionAccess().getGroup_4()); }
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2()); }
+(rule__WeightedTactic__UsedTacticAssignment_2)
+{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2()); }
 )
 
 ;
@@ -5325,27 +4747,27 @@ finally {
 }
 
 
-rule__StartAction__Group__5
+rule__WeightedTactic__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__5__Impl
-	rule__StartAction__Group__6
+	rule__WeightedTactic__Group__3__Impl
+	rule__WeightedTactic__Group__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__5__Impl
+rule__WeightedTactic__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getGroup_5()); }
-(rule__StartAction__Group_5__0)?
-{ after(grammarAccess.getStartActionAccess().getGroup_5()); }
+{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3()); }
+(rule__WeightedTactic__CurrentWeightAssignment_3)
+{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3()); }
 )
 
 ;
@@ -5354,28 +4776,27 @@ finally {
 }
 
 
-rule__StartAction__Group__6
+rule__WeightedTactic__Group__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group__6__Impl
+	rule__WeightedTactic__Group__4__Impl
+	rule__WeightedTactic__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group__6__Impl
+rule__WeightedTactic__Group__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); }
-
-	'}' 
-
-{ after(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); }
+{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4()); }
+(rule__WeightedTactic__DefaultWeightAssignment_4)
+{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4()); }
 )
 
 ;
@@ -5384,43 +4805,26 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__StartAction__Group_4__0
+rule__WeightedTactic__Group__5
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__StartAction__Group_4__0__Impl
-	rule__StartAction__Group_4__1
+	rule__WeightedTactic__Group__5__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__Group_4__0__Impl
+rule__WeightedTactic__Group__5__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); }
-
-	'predecessor' 
-
-{ after(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getGroup_5()); }
+(rule__WeightedTactic__Group_5__0)?
+{ after(grammarAccess.getWeightedTacticAccess().getGroup_5()); }
 )
 
 ;
@@ -5429,6481 +4833,41 @@ finally {
 }
 
 
-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().getCounterKeyword_3()); }
-
-	'counter' 
-
-{ after(grammarAccess.getLoopActionAccess().getCounterKeyword_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().getCounterAssignment_4()); }
-(rule__LoopAction__CounterAssignment_4)
-{ after(grammarAccess.getLoopActionAccess().getCounterAssignment_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().getGroup_5()); }
-(rule__LoopAction__Group_5__0)?
-{ after(grammarAccess.getLoopActionAccess().getGroup_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().getGroup_6()); }
-(rule__LoopAction__Group_6__0)?
-{ after(grammarAccess.getLoopActionAccess().getGroup_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_5__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__LoopAction__Group_5__0__Impl
-	rule__LoopAction__Group_5__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__LoopAction__Group_5__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0()); }
-
-	'predecessor' 
-
-{ after(grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__LoopAction__Group_5__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__LoopAction__Group_5__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__LoopAction__Group_5__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1()); }
-(rule__LoopAction__PredecessorAssignment_5_1)
-{ after(grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-rule__LoopAction__Group_6__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__LoopAction__Group_6__0__Impl
-	rule__LoopAction__Group_6__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__LoopAction__Group_6__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0()); }
-
-	'successor' 
-
-{ after(grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__LoopAction__Group_6__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__LoopAction__Group_6__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__LoopAction__Group_6__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_1()); }
-(rule__LoopAction__SuccessorAssignment_6_1)
-{ after(grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_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__EInt__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EInt__Group__0__Impl
-	rule__EInt__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EInt__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); }
-(
-	'-' 
-)?
-{ after(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__EInt__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__EInt__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__EInt__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getEIntAccess().getINTTerminalRuleCall_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().getSpecificationKeyword_5()); }
-
-	'specification' 
-
-{ after(grammarAccess.getObjectiveAccess().getSpecificationKeyword_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().getSpecificationAssignment_6()); }
-(rule__Objective__SpecificationAssignment_6)
-{ after(grammarAccess.getObjectiveAccess().getSpecificationAssignment_6()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Objective__Group__7
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Objective__Group__7__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Objective__Group__7__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7()); }
-
-	'}' 
-
-{ after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7()); }
-)
-
-;
-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().getWeightedMetricsKeyword_5()); }
-
-	'weightedMetrics' 
-
-{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_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().getLeftCurlyBracketKeyword_6()); }
-
-	'{' 
-
-{ after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_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().getWeightedMetricsAssignment_7()); }
-(rule__WeightingFunction__WeightedMetricsAssignment_7)
-{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_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().getGroup_8()); }
-(rule__WeightingFunction__Group_8__0)*
-{ after(grammarAccess.getWeightingFunctionAccess().getGroup_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().getRightCurlyBracketKeyword_9()); }
-
-	'}' 
-
-{ after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__WeightingFunction__Group__10
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__WeightingFunction__Group__10__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__WeightingFunction__Group__10__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10()); }
-
-	'}' 
-
-{ after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-rule__WeightingFunction__Group_8__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__WeightingFunction__Group_8__0__Impl
-	rule__WeightingFunction__Group_8__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__WeightingFunction__Group_8__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0()); }
-
-	',' 
-
-{ after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__WeightingFunction__Group_8__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__WeightingFunction__Group_8__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__WeightingFunction__Group_8__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1()); }
-(rule__WeightingFunction__WeightedMetricsAssignment_8_1)
-{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1()); }
-)
-
-;
-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__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
+
+rule__WeightedTactic__Group_5__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); }
-)
-
+	rule__WeightedTactic__Group_5__0__Impl
+	rule__WeightedTactic__Group_5__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Strategy__ObjectiveAssignment_6
+rule__WeightedTactic__Group_5__0__Impl
     @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()); }
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0()); }
+
+	'lastImpact' 
+
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0()); }
 )
 
 ;
@@ -11911,29 +4875,27 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Strategy__TriggeringEventsAssignment_8
+
+rule__WeightedTactic__Group_5__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
-	ruleEvent{ after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
-)
-
+	rule__WeightedTactic__Group_5__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Strategy__TacticsAssignment_11
+rule__WeightedTactic__Group_5__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
-	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1()); }
+(rule__WeightedTactic__LastImpactAssignment_5_1)
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1()); }
 )
 
 ;
@@ -11941,29 +4903,32 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Strategy__TacticsAssignment_12_1
+
+
+
+
+
+rule__WeightingFunction__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
-	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
-)
-
+	rule__WeightingFunction__Group__0__Impl
+	rule__WeightingFunction__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Strategy__WeightingFunctionAssignment_15
+rule__WeightingFunction__Group__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
-	ruleWeightingFunction{ after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getNameAssignment_0()); }
+(rule__WeightingFunction__NameAssignment_0)
+{ after(grammarAccess.getWeightingFunctionAccess().getNameAssignment_0()); }
 )
 
 ;
@@ -11971,29 +4936,30 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__NameAssignment_1
+
+rule__WeightingFunction__Group__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
-)
-
+	rule__WeightingFunction__Group__1__Impl
+	rule__WeightingFunction__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Parameter__TypeAssignment_4
+rule__WeightingFunction__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1()); }
 )
 
 ;
@@ -12001,29 +4967,28 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__DescriptionAssignment_3
+
+rule__WeightingFunction__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); }
-	ruleEString{ after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); }
-)
-
+	rule__WeightingFunction__Group__2__Impl
+	rule__WeightingFunction__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__ObjectivesAssignment_6
+rule__WeightingFunction__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); }
-	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2()); }
+(rule__WeightingFunction__WeightedMetricsAssignment_2)
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2()); }
 )
 
 ;
@@ -12031,29 +4996,28 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OverallGoal__ObjectivesAssignment_7_1
+
+rule__WeightingFunction__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); }
-	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); }
-)
-
+	rule__WeightingFunction__Group__3__Impl
+	rule__WeightingFunction__Group__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__IdAssignment_1
+rule__WeightingFunction__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getGroup_3()); }
+(rule__WeightingFunction__Group_3__0)*
+{ after(grammarAccess.getWeightingFunctionAccess().getGroup_3()); }
 )
 
 ;
@@ -12061,29 +5025,29 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__NameAssignment_4
+
+rule__WeightingFunction__Group__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); }
-)
-
+	rule__WeightingFunction__Group__4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__StepsAssignment_5_2
+rule__WeightingFunction__Group__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); }
-	ruleAbstractControlFlowElement{ after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4()); }
 )
 
 ;
@@ -12091,29 +5055,40 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationPlan__StepsAssignment_5_3_1
+
+
+
+
+
+
+
+
+
+
+
+rule__WeightingFunction__Group_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); }
-	ruleAbstractControlFlowElement{ after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); }
-)
-
+	rule__WeightingFunction__Group_3__0__Impl
+	rule__WeightingFunction__Group_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__IdAssignment_2
+rule__WeightingFunction__Group_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); }
-	ruleEString{ after(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0()); }
 )
 
 ;
@@ -12121,37 +5096,27 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__PredecessorAssignment_4_1
+
+rule__WeightingFunction__Group_3__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()); }
-)
-
+	rule__WeightingFunction__Group_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StartAction__SuccessorAssignment_5_1
+rule__WeightingFunction__Group_3__1__Impl
     @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()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1()); }
+(rule__WeightingFunction__WeightedMetricsAssignment_3_1)
+{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1()); }
 )
 
 ;
@@ -12159,33 +5124,33 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StopAction__IdAssignment_2
+
+
+
+
+
+
+rule__WeightedMetric__Group__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); }
-	ruleEString{ after(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); }
-)
-
+	rule__WeightedMetric__Group__0__Impl
+	rule__WeightedMetric__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StopAction__PredecessorAssignment_4_1
+rule__WeightedMetric__Group__0__Impl
     @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()); }
+{ before(grammarAccess.getWeightedMetricAccess().getNameAssignment_0()); }
+(rule__WeightedMetric__NameAssignment_0)
+{ after(grammarAccess.getWeightedMetricAccess().getNameAssignment_0()); }
 )
 
 ;
@@ -12193,33 +5158,30 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__StopAction__SuccessorAssignment_5_1
+
+rule__WeightedMetric__Group__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()); }
-)
-
+	rule__WeightedMetric__Group__1__Impl
+	rule__WeightedMetric__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__LoopAction__IdAssignment_1
+rule__WeightedMetric__Group__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1()); }
+
+	'=' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1()); }
 )
 
 ;
@@ -12227,33 +5189,28 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__LoopAction__CounterAssignment_4
+
+rule__WeightedMetric__Group__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); }
-	ruleEInt{ after(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); }
-)
-
+	rule__WeightedMetric__Group__2__Impl
+	rule__WeightedMetric__Group__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__LoopAction__PredecessorAssignment_5_1
+rule__WeightedMetric__Group__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); }
-(
-{ before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
-	ruleEString{ after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); }
-)
-{ after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getWeightAssignment_2()); }
+(rule__WeightedMetric__WeightAssignment_2)
+{ after(grammarAccess.getWeightedMetricAccess().getWeightAssignment_2()); }
 )
 
 ;
@@ -12261,33 +5218,30 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__LoopAction__SuccessorAssignment_6_1
+
+rule__WeightedMetric__Group__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); }
-(
-{ before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1()); }
-	ruleEString{ after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1()); }
-)
-{ after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); }
-)
-
+	rule__WeightedMetric__Group__3__Impl
+	rule__WeightedMetric__Group__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__LoopAction__BodyAssignment_8
+rule__WeightedMetric__Group__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); }
-	ruleAdaptationPlan{ after(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getRefKeyword_3()); }
+
+	'ref' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getRefKeyword_3()); }
 )
 
 ;
@@ -12295,29 +5249,30 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__IdAssignment_1
+
+rule__WeightedMetric__Group__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-(
-{ before(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); }
-)
-
+	rule__WeightedMetric__Group__4__Impl
+	rule__WeightedMetric__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__ConditionAssignment_3_1
+rule__WeightedMetric__Group__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); }
-	ruleEString{ after(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getColonKeyword_4()); }
+
+	':' 
+
+{ after(grammarAccess.getWeightedMetricAccess().getColonKeyword_4()); }
 )
 
 ;
@@ -12325,37 +5280,27 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__PredecessorAssignment_4_1
+
+rule__WeightedMetric__Group__5
     @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()); }
-)
-
+	rule__WeightedMetric__Group__5__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__SuccessorAssignment_5_1
+rule__WeightedMetric__Group__5__Impl
     @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()); }
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5()); }
+(rule__WeightedMetric__MetricTypeAssignment_5)
+{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5()); }
 )
 
 ;
@@ -12363,18 +5308,28 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__ContextAssignment_6_1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__AdaptationProcess__NameAssignment_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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12382,14 +5337,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__ConditionTrueBranchAssignment_8
+rule__AdaptationProcess__GoalAssignment_4
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); }
-	ruleAdaptationPlan{ after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); }
+	ruleOverallGoal{ after(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); }
 )
 
 ;
@@ -12397,14 +5352,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__BranchAction__ConditionFalseBranchAssignment_10
+rule__AdaptationProcess__ActionsAssignment_7
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); }
-	ruleAdaptationPlan{ after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); }
+	ruleAction{ after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); }
 )
 
 ;
@@ -12412,14 +5367,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ActionReference__IdAssignment_1
+rule__AdaptationProcess__ActionsAssignment_8_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); }
+	ruleAction{ after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); }
 )
 
 ;
@@ -12427,18 +5382,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ActionReference__PredecessorAssignment_3_1
+rule__AdaptationProcess__TacticsAssignment_11
     @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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); }
+	ruleTactic{ after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); }
 )
 
 ;
@@ -12446,18 +5397,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ActionReference__SuccessorAssignment_4_1
+rule__AdaptationProcess__TacticsAssignment_12_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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); }
+	ruleTactic{ after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); }
 )
 
 ;
@@ -12465,18 +5412,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ActionReference__RefersToAssignment_6
+rule__AdaptationProcess__StrategiesAssignment_15
     @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()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); }
+	ruleStrategy{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); }
 )
 
 ;
@@ -12484,14 +5427,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3
+rule__AdaptationProcess__StrategiesAssignment_16_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); }
-	ruleAdaptationScope{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); }
+	ruleStrategy{ after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); }
 )
 
 ;
@@ -12499,14 +5442,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5
+rule__AdaptationProcess__ParametersAssignment_17_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); }
-	ruleAdaptationDirection{ after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); }
+	ruleParameter{ after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); }
 )
 
 ;
@@ -12514,14 +5457,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelVariableConfigurationRange__IdAssignment_1
+rule__AdaptationProcess__ParametersAssignment_17_3_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); }
+	ruleParameter{ after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); }
 )
 
 ;
@@ -12529,14 +5472,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelVariableConfigurationRange__NameAssignment_4
+rule__Tactic__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12544,14 +5487,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelVariableConfigurationRange__MinValueAssignment_6
+rule__Tactic__InputParamsAssignment_3_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); }
-	ruleEDouble{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); }
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); }
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); }
+)
+{ after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); }
 )
 
 ;
@@ -12559,14 +5506,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelVariableConfigurationRange__MaxValueAssignment_8
+rule__Tactic__InputParamsAssignment_3_3_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); }
-	ruleEDouble{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); }
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); }
+(
+{ before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); }
+)
+{ after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); }
 )
 
 ;
@@ -12574,18 +5525,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10
+rule__Tactic__OutputParamAssignment_4_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); }
+{ before(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); }
 (
-{ before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); }
-	ruleEString{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); }
+{ before(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); }
+	ruleEString{ after(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); }
 )
-{ after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); }
+{ after(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); }
 )
 
 ;
@@ -12593,14 +5544,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelEntityConfigurationRange__IdAssignment_1
+rule__Tactic__ImplementedPlanAssignment_7
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); }
+	ruleAdaptationPlan{ after(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); }
 )
 
 ;
@@ -12608,14 +5559,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelEntityConfigurationRange__NameAssignment_4
+rule__Action__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12623,18 +5574,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6
+rule__Action__InputParamsAssignment_3_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); }
+{ before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); }
 (
-{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); }
-	ruleEString{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); }
+{ before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); }
 )
-{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); }
+{ after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); }
 )
 
 ;
@@ -12642,14 +5593,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8
+rule__Action__InputParamsAssignment_3_3_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); }
-	ruleVariationType{ after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); }
+{ before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); }
+(
+{ before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); }
 )
 
 ;
@@ -12657,14 +5612,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PropertyRange__MinValueConstraintAssignment_3
+rule__Action__OutputParamAssignment_4_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); }
-	ruleOclConstraint{ after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); }
+{ before(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); }
+(
+{ before(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); }
 )
 
 ;
@@ -12672,14 +5631,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__PropertyRange__MaxValueConstraintAssignment_5
+rule__Action__ReferredAdaptationPointAssignment_7
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); }
-	ruleOclConstraint{ after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); }
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); }
+(
+{ before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1()); }
+	ruleEString{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1()); }
+)
+{ after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); }
 )
 
 ;
@@ -12687,18 +5650,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SetOfConfigurations__VariantsAssignment_2_2
+rule__Action__AdaptationActionOperationAssignment_10
     @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()); }
+{ before(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); }
+	ruleAdaptationActionOperation{ after(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); }
 )
 
 ;
@@ -12706,18 +5665,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SetOfConfigurations__VariantsAssignment_2_3_1
+rule__Strategy__NameAssignment_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()); }
+{ before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12725,14 +5680,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SetOfConfigurations__ValueConstraintAssignment_4
+rule__Strategy__ObjectiveAssignment_5
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); }
-	ruleOclConstraint{ after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); }
+{ before(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); }
+(
+{ before(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_5_0_1()); }
+	ruleEString{ after(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_5_0_1()); }
+)
+{ after(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); }
 )
 
 ;
@@ -12740,14 +5699,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OclConstraint__NameAssignment_1
+rule__Strategy__TriggeringEventsAssignment_8
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
+	ruleEvent{ after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); }
 )
 
 ;
@@ -12755,14 +5714,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__OclConstraint__OclStringAssignment_4
+rule__Strategy__TacticsAssignment_11
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
+	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); }
 )
 
 ;
@@ -12770,14 +5729,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Objective__IdAssignment_1
+rule__Strategy__TacticsAssignment_12_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
+	ruleWeightedTactic{ after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); }
 )
 
 ;
@@ -12785,14 +5744,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Objective__NameAssignment_4
+rule__Strategy__WeightingFunctionAssignment_15
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
+	ruleWeightingFunction{ after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); }
 )
 
 ;
@@ -12800,14 +5759,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Objective__SpecificationAssignment_6
+rule__Parameter__TypeAssignment_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); }
-	ruleEString{ after(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); }
+{ before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); }
+	ruleEString{ after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); }
 )
 
 ;
@@ -12815,14 +5774,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Event__IdAssignment_1
+rule__Parameter__NameAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12830,14 +5789,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Event__NameAssignment_4
+rule__OverallGoal__DescriptionAssignment_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); }
+	ruleEString{ after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); }
 )
 
 ;
@@ -12845,14 +5804,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__IdAssignment_1
+rule__OverallGoal__ObjectivesAssignment_5
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); }
+	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); }
 )
 
 ;
@@ -12860,14 +5819,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__NameAssignment_4
+rule__OverallGoal__ObjectivesAssignment_6_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); }
+	ruleObjective{ after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); }
 )
 
 ;
@@ -12875,14 +5834,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__CurrentWeightAssignment_6
+rule__AdaptationPlan__StepsAssignment_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); }
-	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); }
+	ruleStartAction{ after(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); }
 )
 
 ;
@@ -12890,14 +5849,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__DefaultWeightAssignment_8
+rule__AdaptationPlan__StepsAssignment_1_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); }
-	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); }
+	ruleAbstractControlFlowElement{ after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); }
 )
 
 ;
@@ -12905,18 +5864,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__UsedTacticAssignment_10
+rule__AdaptationPlan__StepsAssignment_3
     @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()); }
+{ before(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); }
+	ruleStopAction{ after(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); }
 )
 
 ;
@@ -12924,18 +5879,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedTactic__LastImpactAssignment_11_1
+rule__Objective__NameAssignment_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()); }
+{ before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); }
+	ruleEString{ after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); }
 )
 
 ;
@@ -12943,14 +5894,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightingFunction__IdAssignment_1
+rule__Objective__SpecificationAssignment_3
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); }
+	ruleEString{ after(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); }
 )
 
 ;
@@ -12958,14 +5909,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightingFunction__NameAssignment_4
+rule__Event__NameAssignment
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); }
+	ruleEString{ after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); }
 )
 
 ;
@@ -12973,14 +5924,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightingFunction__WeightedMetricsAssignment_7
+rule__WeightedTactic__NameAssignment_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); }
-	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); }
 )
 
 ;
@@ -12988,14 +5939,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightingFunction__WeightedMetricsAssignment_8_1
+rule__WeightedTactic__UsedTacticAssignment_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); }
-	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); }
+(
+{ before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_2_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); }
 )
 
 ;
@@ -13003,23 +5958,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-
-
-
-
-
-
-
-
-
-rule__MetricValue__IdAssignment_1
+rule__WeightedTactic__CurrentWeightAssignment_3
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); }
 )
 
 ;
@@ -13027,14 +5973,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MetricValue__NameAssignment_4
+rule__WeightedTactic__DefaultWeightAssignment_4
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); }
 )
 
 ;
@@ -13042,14 +5988,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MetricValue__ValueAssignment_6
+rule__WeightedTactic__LastImpactAssignment_5_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); }
-	ruleEDouble{ after(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); }
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); }
+(
+{ before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_5_1_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_5_1_0_1()); }
+)
+{ after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); }
 )
 
 ;
@@ -13057,18 +6007,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MetricValue__MeasuredEntityAssignment_8
+rule__WeightingFunction__NameAssignment_0
     @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()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); }
+	ruleEString{ after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); }
 )
 
 ;
@@ -13076,18 +6022,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__MetricValue__MetricTypeAssignment_10
+rule__WeightingFunction__WeightedMetricsAssignment_2
     @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()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); }
+	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); }
 )
 
 ;
@@ -13095,20 +6037,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-
-
-
-
-
-
-rule__WeightedMetric__IdAssignment_1
+rule__WeightingFunction__WeightedMetricsAssignment_3_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); }
+	ruleWeightedMetric{ after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); }
 )
 
 ;
@@ -13116,14 +6052,15 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedMetric__NameAssignment_4
+
+rule__WeightedMetric__NameAssignment_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); }
-	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); }
+	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); }
 )
 
 ;
@@ -13131,14 +6068,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedMetric__WeightAssignment_6
+rule__WeightedMetric__WeightAssignment_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); }
-	ruleEDouble{ after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); }
+	ruleEDouble{ after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); }
 )
 
 ;
@@ -13146,18 +6083,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__WeightedMetric__MetricTypeAssignment_8
+rule__WeightedMetric__MetricTypeAssignment_5
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); }
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); }
 (
-{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); }
-	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); }
+{ before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_5_0_1()); }
+	ruleEString{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_5_0_1()); }
 )
-{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); }
+{ after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); }
 )
 
 ;
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.tokens b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.tokens
index 23fa091bfaa909c2869e782e4b4cfb22d6ea10f6..533699d4c867cd205d5518bad02d267c5feb2f03 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.tokens
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.tokens
@@ -10,63 +10,16 @@ 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__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
@@ -78,9 +31,11 @@ T__45=45
 T__48=48
 T__49=49
 RULE_SL_COMMENT=8
+RULE_ML_COMMENT=7
 T__30=30
 T__31=31
 T__32=32
+RULE_STRING=4
 T__33=33
 T__34=34
 T__35=35
@@ -89,87 +44,42 @@ T__37=37
 T__38=38
 T__39=39
 RULE_WS=9
-'adaptationOperationScope'=62
-'adaptationActionOperation'=34
-'Objective'=79
-'counter'=51
-'conditionFalseBranch'=55
-'type'=40
-'Event'=81
-'e'=15
-'AdaptationPlan'=44
-'value'=90
-'weightingFunction'=38
-'maxValue'=66
-'minValueConstraint'=72
-'inputParams'=28
-'body'=52
-'defaultWeight'=84
-'currentWeight'=83
-'.'=70
-'adaptableEntity'=67
-'OclConstraint'=77
-'usedTactic'=85
+'adaptationActionOperation'=36
+'AdaptionActionOperation'=15
+'implementedPlan'=31
+'Objective'=47
+'Description'=42
+'ActionReference'=14
+'output'=33
+'StopAction'=11
+'e'=19
+'lastImpact'=48
+'BranchAction'=13
+'='=39
+'weightingFunction'=41
+'Tactic'=30
+'.'=46
+'Strategy'=37
+'StartAction'=44
+'strategies'=26
+'triggeringEvents'=40
 'objectives'=43
-'SetOfConfigurations'=74
-'condition'=56
-'AdaptationDirection'=12
-'referredAdaptationPoint'=33
-'{'=17
-'conditionTrueBranch'=54
-'goal'=23
-'WeightingFunction'=87
-'EDate'=13
-'('=29
-'-'=60
-','=24
-'tactics'=19
-'context'=57
-'implementedPlan'=27
-'AdaptationActionOperation'=61
-'ActionReference'=58
-'refersTo'=59
-'WeightedMetric'=93
-'variationPossibility'=69
-'oclString'=78
-'valueConstraint'=75
-'StopAction'=49
-'weightedMetrics'=88
-'ModelVariableConfigurationRange'=64
-'steps'=45
-'metricType'=92
-'lastImpact'=86
-'BranchAction'=53
-'ModelEntityConfigurationRange'=68
-'Tactic'=26
-'successor'=48
-'Strategy'=35
-')'=30
-'AdaptationScope'=11
-'strategies'=22
-'StartAction'=46
-'triggeringEvents'=37
-'specification'=80
-'parameters'=25
-'}'=20
-'LoopAction'=50
-'minValue'=65
-'actions'=21
-'objective'=36
-'weight'=94
-'maxValueConstraint'=73
-'description'=42
-'predecessor'=47
-'measuredEntity'=91
-'WeightedTactic'=82
-'AdaptationProcess'=16
-'Action'=32
-'Parameter'=39
-'OverallGoal'=41
-'PropertyRange'=71
-'adaptationOperationDirection'=63
-'outputParam'=31
-'name'=18
-'E'=14
-'MetricValue'=89
-'variants'=76
+'}'=27
+'parameters'=29
+'SetOfConfigurations'=17
+'LoopAction'=12
+'objective'=38
+'actions'=23
+'referredAdaptationPoint'=35
+'{'=21
+'goal'=22
+'AdaptationProcess'=20
+'Action'=34
+'PropertyRange'=16
+'ref'=49
+':'=24
+'-'=45
+'tactics'=25
+','=28
+'E'=18
+'input'=32
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageLexer.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageLexer.java
index 188d0de4e0e0bdea893de001e85591e94654b079..83cf1922e837116d7f82f5a7c61a774160385f2b 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageLexer.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageLexer.java
@@ -21,17 +21,12 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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 RULE_ANY_OTHER=10;
     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;
@@ -39,49 +34,7 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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__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;
@@ -93,9 +46,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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 RULE_ML_COMMENT=7;
     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 RULE_STRING=4;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
@@ -123,10 +78,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__11;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11:7: ( 'AdaptationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11:9: 'AdaptationScope'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11:7: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11:9: 'StopAction'
             {
-            match("AdaptationScope"); 
+            match("StopAction"); 
 
 
             }
@@ -144,10 +99,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12:7: ( 'AdaptationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12:9: 'AdaptationDirection'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12:7: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12:9: 'LoopAction'
             {
-            match("AdaptationDirection"); 
+            match("LoopAction"); 
 
 
             }
@@ -165,10 +120,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__13;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13:7: ( 'EDate' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13:9: 'EDate'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13:7: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13:9: 'BranchAction'
             {
-            match("EDate"); 
+            match("BranchAction"); 
 
 
             }
@@ -186,10 +141,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:14:7: ( 'E' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:14:9: 'E'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:14:7: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:14:9: 'ActionReference'
             {
-            match('E'); 
+            match("ActionReference"); 
+
 
             }
 
@@ -206,10 +162,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:15:7: ( 'e' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:15:9: 'e'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:15:7: ( 'AdaptionActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:15:9: 'AdaptionActionOperation'
             {
-            match('e'); 
+            match("AdaptionActionOperation"); 
+
 
             }
 
@@ -226,10 +183,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:16:7: ( 'AdaptationProcess' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:16:9: 'AdaptationProcess'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:16:7: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:16:9: 'PropertyRange'
             {
-            match("AdaptationProcess"); 
+            match("PropertyRange"); 
 
 
             }
@@ -247,10 +204,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:17:7: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:17:9: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:17:7: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:17:9: 'SetOfConfigurations'
             {
-            match('{'); 
+            match("SetOfConfigurations"); 
+
 
             }
 
@@ -267,11 +225,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:18:7: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:18:9: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:18:7: ( 'E' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:18:9: 'E'
             {
-            match("name"); 
-
+            match('E'); 
 
             }
 
@@ -288,11 +245,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:19:7: ( 'tactics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:19:9: 'tactics'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:19:7: ( 'e' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:19:9: 'e'
             {
-            match("tactics"); 
-
+            match('e'); 
 
             }
 
@@ -309,10 +265,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:20:7: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:20:9: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:20:7: ( 'AdaptationProcess' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:20:9: 'AdaptationProcess'
             {
-            match('}'); 
+            match("AdaptationProcess"); 
+
 
             }
 
@@ -329,11 +286,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:21:7: ( 'actions' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:21:9: 'actions'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:21:7: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:21:9: '{'
             {
-            match("actions"); 
-
+            match('{'); 
 
             }
 
@@ -350,10 +306,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:22:7: ( 'strategies' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:22:9: 'strategies'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:22:7: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:22:9: 'goal'
             {
-            match("strategies"); 
+            match("goal"); 
 
 
             }
@@ -371,10 +327,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:23:7: ( 'goal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:23:9: 'goal'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:23:7: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:23:9: 'actions'
             {
-            match("goal"); 
+            match("actions"); 
 
 
             }
@@ -392,10 +348,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:24:7: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:24:9: ','
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:24:7: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:24:9: ':'
             {
-            match(','); 
+            match(':'); 
 
             }
 
@@ -412,10 +368,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:25:7: ( 'parameters' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:25:9: 'parameters'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:25:7: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:25:9: 'tactics'
             {
-            match("parameters"); 
+            match("tactics"); 
 
 
             }
@@ -433,10 +389,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:26:7: ( 'Tactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:26:9: 'Tactic'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:26:7: ( 'strategies' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:26:9: 'strategies'
             {
-            match("Tactic"); 
+            match("strategies"); 
 
 
             }
@@ -454,11 +410,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:27:7: ( 'implementedPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:27:9: 'implementedPlan'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:27:7: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:27:9: '}'
             {
-            match("implementedPlan"); 
-
+            match('}'); 
 
             }
 
@@ -475,11 +430,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:28:7: ( 'inputParams' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:28:9: 'inputParams'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:28:7: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:28:9: ','
             {
-            match("inputParams"); 
-
+            match(','); 
 
             }
 
@@ -496,10 +450,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:29:7: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:29:9: '('
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:29:7: ( 'parameters' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:29:9: 'parameters'
             {
-            match('('); 
+            match("parameters"); 
+
 
             }
 
@@ -516,10 +471,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:30:7: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:30:9: ')'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:30:7: ( 'Tactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:30:9: 'Tactic'
             {
-            match(')'); 
+            match("Tactic"); 
+
 
             }
 
@@ -536,10 +492,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:31:7: ( 'outputParam' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:31:9: 'outputParam'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:31:7: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:31:9: 'implementedPlan'
             {
-            match("outputParam"); 
+            match("implementedPlan"); 
 
 
             }
@@ -557,10 +513,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:32:7: ( 'Action' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:32:9: 'Action'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:32:7: ( 'input' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:32:9: 'input'
             {
-            match("Action"); 
+            match("input"); 
 
 
             }
@@ -578,10 +534,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:33:7: ( 'referredAdaptationPoint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:33:9: 'referredAdaptationPoint'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:33:7: ( 'output' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:33:9: 'output'
             {
-            match("referredAdaptationPoint"); 
+            match("output"); 
 
 
             }
@@ -599,10 +555,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:34:7: ( 'adaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:34:9: 'adaptationActionOperation'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:34:7: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:34:9: 'Action'
             {
-            match("adaptationActionOperation"); 
+            match("Action"); 
 
 
             }
@@ -620,10 +576,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:35:7: ( 'Strategy' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:35:9: 'Strategy'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:35:7: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:35:9: 'referredAdaptationPoint'
             {
-            match("Strategy"); 
+            match("referredAdaptationPoint"); 
 
 
             }
@@ -641,10 +597,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:36:7: ( 'objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:36:9: 'objective'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:36:7: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:36:9: 'adaptationActionOperation'
             {
-            match("objective"); 
+            match("adaptationActionOperation"); 
 
 
             }
@@ -662,10 +618,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:37:7: ( 'triggeringEvents' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:37:9: 'triggeringEvents'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:37:7: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:37:9: 'Strategy'
             {
-            match("triggeringEvents"); 
+            match("Strategy"); 
 
 
             }
@@ -683,10 +639,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:38:7: ( 'weightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:38:9: 'weightingFunction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:38:7: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:38:9: 'objective'
             {
-            match("weightingFunction"); 
+            match("objective"); 
 
 
             }
@@ -704,11 +660,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:39:7: ( 'Parameter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:39:9: 'Parameter'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:39:7: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:39:9: '='
             {
-            match("Parameter"); 
-
+            match('='); 
 
             }
 
@@ -725,10 +680,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:40:7: ( 'type' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:40:9: 'type'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:40:7: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:40:9: 'triggeringEvents'
             {
-            match("type"); 
+            match("triggeringEvents"); 
 
 
             }
@@ -746,10 +701,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:41:7: ( 'OverallGoal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:41:9: 'OverallGoal'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:41:7: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:41:9: 'weightingFunction'
             {
-            match("OverallGoal"); 
+            match("weightingFunction"); 
 
 
             }
@@ -767,10 +722,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:42:7: ( 'description' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:42:9: 'description'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:42:7: ( 'Description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:42:9: 'Description'
             {
-            match("description"); 
+            match("Description"); 
 
 
             }
@@ -809,10 +764,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:44:7: ( 'AdaptationPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:44:9: 'AdaptationPlan'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:44:7: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:44:9: 'StartAction'
             {
-            match("AdaptationPlan"); 
+            match("StartAction"); 
 
 
             }
@@ -830,11 +785,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:45:7: ( 'steps' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:45:9: 'steps'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:45:7: ( '-' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:45:9: '-'
             {
-            match("steps"); 
-
+            match('-'); 
 
             }
 
@@ -851,11 +805,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:46:7: ( 'StartAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:46:9: 'StartAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:46:7: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:46:9: '.'
             {
-            match("StartAction"); 
-
+            match('.'); 
 
             }
 
@@ -872,10 +825,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:47:7: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:47:9: 'predecessor'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:47:7: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:47:9: 'Objective'
             {
-            match("predecessor"); 
+            match("Objective"); 
 
 
             }
@@ -893,10 +846,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:48:7: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:48:9: 'successor'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:48:7: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:48:9: 'lastImpact'
             {
-            match("successor"); 
+            match("lastImpact"); 
 
 
             }
@@ -914,10 +867,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:49:7: ( 'StopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:49:9: 'StopAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:49:7: ( 'ref' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:49:9: 'ref'
             {
-            match("StopAction"); 
+            match("ref"); 
 
 
             }
@@ -930,99 +883,73 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     }
     // $ANTLR end "T__49"
 
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
         try {
-            int _type = T__50;
+            int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:50:7: ( 'LoopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:50:9: 'LoopAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6106: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6106:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            match("LoopAction"); 
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6106: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6106:11: '^'
+                    {
+                    match('^'); 
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:51:7: ( 'counter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:51:9: 'counter'
-            {
-            match("counter"); 
-
+                    }
+                    break;
 
             }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
+            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:52:7: ( 'body' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:52:9: 'body'
-            {
-            match("body"); 
+            }
+            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6106: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;
+                }
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:53:7: ( 'BranchAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:53:9: 'BranchAction'
-            {
-            match("BranchAction"); 
+                switch (alt2) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
+            	    }
+            	    break;
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:54:7: ( 'conditionTrueBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:54:9: 'conditionTrueBranch'
-            {
-            match("conditionTrueBranch"); 
+            	default :
+            	    break loop2;
+                }
+            } while (true);
 
 
             }
@@ -1033,38 +960,45 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__54"
+    // $ANTLR end "RULE_ID"
 
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
         try {
-            int _type = T__55;
+            int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:55:7: ( 'conditionFalseBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:55:9: 'conditionFalseBranch'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6108:10: ( ( '0' .. '9' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6108:12: ( '0' .. '9' )+
             {
-            match("conditionFalseBranch"); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6108: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;
+                }
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__55"
+                switch (alt3) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6108:13: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:56:7: ( 'condition' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:56:9: 'condition'
-            {
-            match("condition"); 
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt3 >= 1 ) break loop3;
+                        EarlyExitException eee =
+                            new EarlyExitException(3, input);
+                        throw eee;
+                }
+                cnt3++;
+            } while (true);
 
 
             }
@@ -1075,163 +1009,155 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__56"
+    // $ANTLR end "RULE_INT"
 
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
         try {
-            int _type = T__57;
+            int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:57:7: ( 'context' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:57:9: 'context'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            match("context"); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    {
+                    match('\"'); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop4:
+                    do {
+                        int alt4=3;
+                        int LA4_0 = input.LA(1);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
+                        if ( (LA4_0=='\\') ) {
+                            alt4=1;
+                        }
+                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+                            alt4=2;
+                        }
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:58:7: ( 'ActionReference' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:58:9: 'ActionReference'
-            {
-            match("ActionReference"); 
 
+                        switch (alt4) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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;}
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:59:7: ( 'refersTo' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:59:9: 'refersTo'
-            {
-            match("refersTo"); 
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
+                    	    }
+                    	    break;
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:60:7: ( '-' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:60:9: '-'
-            {
-            match('-'); 
+                    	default :
+                    	    break loop4;
+                        }
+                    } while (true);
 
-            }
+                    match('\"'); 
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    {
+                    match('\''); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop5:
+                    do {
+                        int alt5=3;
+                        int LA5_0 = input.LA(1);
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:61:7: ( 'AdaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:61:9: 'AdaptationActionOperation'
-            {
-            match("AdaptationActionOperation"); 
+                        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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();
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__61"
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
+                    	        recover(mse);
+                    	        throw mse;}
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:62:7: ( 'adaptationOperationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:62:9: 'adaptationOperationScope'
-            {
-            match("adaptationOperationScope"); 
 
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6110: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;}
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:63:7: ( 'adaptationOperationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:63:9: 'adaptationOperationDirection'
-            {
-            match("adaptationOperationDirection"); 
+                    	    }
+                    	    break;
 
+                    	default :
+                    	    break loop5;
+                        }
+                    } while (true);
 
-            }
+                    match('\''); 
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__63"
+                    }
+                    break;
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:64:7: ( 'ModelVariableConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:64:9: 'ModelVariableConfigurationRange'
-            {
-            match("ModelVariableConfigurationRange"); 
+            }
 
 
             }
@@ -1242,59 +1168,56 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__64"
+    // $ANTLR end "RULE_STRING"
 
-    // $ANTLR start "T__65"
-    public final void mT__65() throws RecognitionException {
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
-            int _type = T__65;
+            int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:65:7: ( 'minValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:65:9: 'minValue'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6112:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6112:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
-            match("minValue"); 
+            match("/*"); 
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6112:24: ( options {greedy=false; } : . )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
 
-            }
+                if ( (LA7_0=='*') ) {
+                    int LA7_1 = input.LA(2);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__65"
+                    if ( (LA7_1=='/') ) {
+                        alt7=2;
+                    }
+                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+                        alt7=1;
+                    }
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:66:7: ( 'maxValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:66:9: 'maxValue'
-            {
-            match("maxValue"); 
 
+                }
+                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+                    alt7=1;
+                }
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__66"
+                switch (alt7) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6112:52: .
+            	    {
+            	    matchAny(); 
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:67:7: ( 'adaptableEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:67:9: 'adaptableEntity'
-            {
-            match("adaptableEntity"); 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+            match("*/"); 
 
 
             }
@@ -1305,59 +1228,87 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__67"
+    // $ANTLR end "RULE_ML_COMMENT"
 
-    // $ANTLR start "T__68"
-    public final void mT__68() throws RecognitionException {
+    // $ANTLR start "RULE_SL_COMMENT"
+    public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
-            int _type = T__68;
+            int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:68:7: ( 'ModelEntityConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:68:9: 'ModelEntityConfigurationRange'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
-            match("ModelEntityConfigurationRange"); 
+            match("//"); 
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114: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;
+                }
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:69:7: ( 'variationPossibility' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:69:9: 'variationPossibility'
-            {
-            match("variationPossibility"); 
+                switch (alt8) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114:41: ( '\\r' )? '\\n'
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114:41: ( '\\r' )?
+                    int alt9=2;
+                    int LA9_0 = input.LA(1);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__69"
+                    if ( (LA9_0=='\r') ) {
+                        alt9=1;
+                    }
+                    switch (alt9) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6114:41: '\\r'
+                            {
+                            match('\r'); 
+
+                            }
+                            break;
+
+                    }
+
+                    match('\n'); 
+
+                    }
+                    break;
+
+            }
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:70:7: ( '.' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:70:9: '.'
-            {
-            match('.'); 
 
             }
 
@@ -1367,332 +1318,53 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__70"
+    // $ANTLR end "RULE_SL_COMMENT"
 
-    // $ANTLR start "T__71"
-    public final void mT__71() throws RecognitionException {
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
         try {
-            int _type = T__71;
+            int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:71:7: ( 'PropertyRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:71:9: 'PropertyRange'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6116:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6116:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            match("PropertyRange"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:72:7: ( 'minValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:72:9: 'minValueConstraint'
-            {
-            match("minValueConstraint"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:73:7: ( 'maxValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:73:9: 'maxValueConstraint'
-            {
-            match("maxValueConstraint"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:74:7: ( 'SetOfConfigurations' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:74:9: 'SetOfConfigurations'
-            {
-            match("SetOfConfigurations"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:75:7: ( 'valueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:76:7: ( 'variants' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:76:9: 'variants'
-            {
-            match("variants"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:77:7: ( 'OclConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:77:9: 'OclConstraint'
-            {
-            match("OclConstraint"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:78:7: ( 'oclString' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:78:9: 'oclString'
-            {
-            match("oclString"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:79:7: ( 'Objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:79:9: 'Objective'
-            {
-            match("Objective"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:80:7: ( 'specification' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:80:9: 'specification'
-            {
-            match("specification"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:81:7: ( 'Event' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:81:9: 'Event'
-            {
-            match("Event"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:82:7: ( 'WeightedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:82:9: 'WeightedTactic'
-            {
-            match("WeightedTactic"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:83:7: ( 'currentWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:83:9: 'currentWeight'
-            {
-            match("currentWeight"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:84:7: ( 'defaultWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:84:9: 'defaultWeight'
-            {
-            match("defaultWeight"); 
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6116: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;
+                }
 
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:85:7: ( 'usedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:85:9: 'usedTactic'
-            {
-            match("usedTactic"); 
+                switch (alt11) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__85"
+            	    }
+            	    break;
 
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:86:7: ( 'lastImpact' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:86:9: 'lastImpact'
-            {
-            match("lastImpact"); 
+            	default :
+            	    if ( cnt11 >= 1 ) break loop11;
+                        EarlyExitException eee =
+                            new EarlyExitException(11, input);
+                        throw eee;
+                }
+                cnt11++;
+            } while (true);
 
 
             }
@@ -1703,18 +1375,17 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__86"
+    // $ANTLR end "RULE_WS"
 
-    // $ANTLR start "T__87"
-    public final void mT__87() throws RecognitionException {
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
-            int _type = T__87;
+            int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:87:7: ( 'WeightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:87:9: 'WeightingFunction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6118:16: ( . )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6118:18: .
             {
-            match("WeightingFunction"); 
-
+            matchAny(); 
 
             }
 
@@ -1724,1306 +1395,330 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:88:7: ( 'weightedMetrics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:88:9: 'weightedMetrics'
-            {
-            match("weightedMetrics"); 
-
+    // $ANTLR end "RULE_ANY_OTHER"
 
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:89:7: ( 'MetricValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:89:9: 'MetricValue'
-            {
-            match("MetricValue"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:90:7: ( 'value' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:90:9: 'value'
-            {
-            match("value"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:91:7: ( 'measuredEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:91:9: 'measuredEntity'
-            {
-            match("measuredEntity"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:92:7: ( 'metricType' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:92:9: 'metricType'
-            {
-            match("metricType"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:93:7: ( 'WeightedMetric' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:93:9: 'WeightedMetric'
-            {
-            match("WeightedMetric"); 
-
-
-            }
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:94:7: ( 'weight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:94:9: 'weight'
-            {
-            match("weight"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__94"
-
-    // $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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13169: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13169: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13169: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13169: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13169: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13171:10: ( ( '0' .. '9' )+ )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13171:12: ( '0' .. '9' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13171: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13171: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13175:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13175:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13175: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13175: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177:41: ( '\\r' )? '\\n'
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13179:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13179:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13179: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13181:16: ( . )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13181: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=91;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:154: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 26 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:160: T__36
-                {
-                mT__36(); 
+    public void mTokens() throws RecognitionException {
+        // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=46;
+        alt12 = dfa12.predict(input);
+        switch (alt12) {
+            case 1 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:10: T__11
+                {
+                mT__11(); 
 
                 }
                 break;
-            case 27 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:166: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 28 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:172: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 29 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:178: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 30 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:184: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 31 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:190: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 32 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:196: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 33 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:202: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 34 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:208: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 35 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:214: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 36 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:220: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 37 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:226: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 38 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:232: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 39 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:238: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 40 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:244: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 41 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:250: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 42 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:256: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 43 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:262: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 44 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:268: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 45 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:274: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 46 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:280: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 47 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:286: T__57
+            case 2 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:16: T__12
                 {
-                mT__57(); 
+                mT__12(); 
 
                 }
                 break;
-            case 48 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:292: T__58
+            case 3 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:22: T__13
                 {
-                mT__58(); 
+                mT__13(); 
 
                 }
                 break;
-            case 49 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:298: T__59
+            case 4 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:28: T__14
                 {
-                mT__59(); 
+                mT__14(); 
 
                 }
                 break;
-            case 50 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:304: T__60
+            case 5 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:34: T__15
                 {
-                mT__60(); 
+                mT__15(); 
 
                 }
                 break;
-            case 51 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:310: T__61
+            case 6 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:40: T__16
                 {
-                mT__61(); 
+                mT__16(); 
 
                 }
                 break;
-            case 52 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:316: T__62
+            case 7 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:46: T__17
                 {
-                mT__62(); 
+                mT__17(); 
 
                 }
                 break;
-            case 53 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:322: T__63
+            case 8 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:52: T__18
                 {
-                mT__63(); 
+                mT__18(); 
 
                 }
                 break;
-            case 54 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:328: T__64
+            case 9 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:58: T__19
                 {
-                mT__64(); 
+                mT__19(); 
 
                 }
                 break;
-            case 55 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:334: T__65
+            case 10 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:64: T__20
                 {
-                mT__65(); 
+                mT__20(); 
 
                 }
                 break;
-            case 56 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:340: T__66
+            case 11 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:70: T__21
                 {
-                mT__66(); 
+                mT__21(); 
 
                 }
                 break;
-            case 57 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:346: T__67
+            case 12 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:76: T__22
                 {
-                mT__67(); 
+                mT__22(); 
 
                 }
                 break;
-            case 58 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:352: T__68
+            case 13 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:82: T__23
                 {
-                mT__68(); 
+                mT__23(); 
 
                 }
                 break;
-            case 59 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:358: T__69
+            case 14 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:88: T__24
                 {
-                mT__69(); 
+                mT__24(); 
 
                 }
                 break;
-            case 60 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:364: T__70
+            case 15 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:94: T__25
                 {
-                mT__70(); 
+                mT__25(); 
 
                 }
                 break;
-            case 61 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:370: T__71
+            case 16 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:100: T__26
                 {
-                mT__71(); 
+                mT__26(); 
 
                 }
                 break;
-            case 62 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:376: T__72
+            case 17 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:106: T__27
                 {
-                mT__72(); 
+                mT__27(); 
 
                 }
                 break;
-            case 63 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:382: T__73
+            case 18 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:112: T__28
                 {
-                mT__73(); 
+                mT__28(); 
 
                 }
                 break;
-            case 64 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:388: T__74
+            case 19 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:118: T__29
                 {
-                mT__74(); 
+                mT__29(); 
 
                 }
                 break;
-            case 65 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:394: T__75
+            case 20 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:124: T__30
                 {
-                mT__75(); 
+                mT__30(); 
 
                 }
                 break;
-            case 66 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:400: T__76
+            case 21 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:130: T__31
                 {
-                mT__76(); 
+                mT__31(); 
 
                 }
                 break;
-            case 67 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:406: T__77
+            case 22 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:136: T__32
                 {
-                mT__77(); 
+                mT__32(); 
 
                 }
                 break;
-            case 68 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:412: T__78
+            case 23 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:142: T__33
                 {
-                mT__78(); 
+                mT__33(); 
 
                 }
                 break;
-            case 69 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:418: T__79
+            case 24 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:148: T__34
                 {
-                mT__79(); 
+                mT__34(); 
 
                 }
                 break;
-            case 70 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:424: T__80
+            case 25 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:154: T__35
                 {
-                mT__80(); 
+                mT__35(); 
 
                 }
                 break;
-            case 71 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:430: T__81
+            case 26 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:160: T__36
                 {
-                mT__81(); 
+                mT__36(); 
 
                 }
                 break;
-            case 72 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:436: T__82
+            case 27 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:166: T__37
                 {
-                mT__82(); 
+                mT__37(); 
 
                 }
                 break;
-            case 73 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:442: T__83
+            case 28 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:172: T__38
                 {
-                mT__83(); 
+                mT__38(); 
 
                 }
                 break;
-            case 74 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:448: T__84
+            case 29 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:178: T__39
                 {
-                mT__84(); 
+                mT__39(); 
 
                 }
                 break;
-            case 75 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:454: T__85
+            case 30 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:184: T__40
                 {
-                mT__85(); 
+                mT__40(); 
 
                 }
                 break;
-            case 76 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:460: T__86
+            case 31 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:190: T__41
                 {
-                mT__86(); 
+                mT__41(); 
 
                 }
                 break;
-            case 77 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:466: T__87
+            case 32 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:196: T__42
                 {
-                mT__87(); 
+                mT__42(); 
 
                 }
                 break;
-            case 78 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:472: T__88
+            case 33 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:202: T__43
                 {
-                mT__88(); 
+                mT__43(); 
 
                 }
                 break;
-            case 79 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:478: T__89
+            case 34 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:208: T__44
                 {
-                mT__89(); 
+                mT__44(); 
 
                 }
                 break;
-            case 80 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:484: T__90
+            case 35 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:214: T__45
                 {
-                mT__90(); 
+                mT__45(); 
 
                 }
                 break;
-            case 81 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:490: T__91
+            case 36 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:220: T__46
                 {
-                mT__91(); 
+                mT__46(); 
 
                 }
                 break;
-            case 82 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:496: T__92
+            case 37 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:226: T__47
                 {
-                mT__92(); 
+                mT__47(); 
 
                 }
                 break;
-            case 83 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:502: T__93
+            case 38 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:232: T__48
                 {
-                mT__93(); 
+                mT__48(); 
 
                 }
                 break;
-            case 84 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:508: T__94
+            case 39 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:238: T__49
                 {
-                mT__94(); 
+                mT__49(); 
 
                 }
                 break;
-            case 85 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:514: RULE_ID
+            case 40 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:244: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 86 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:522: RULE_INT
+            case 41 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:252: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 87 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:531: RULE_STRING
+            case 42 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:261: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 88 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:543: RULE_ML_COMMENT
+            case 43 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:273: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 89 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:559: RULE_SL_COMMENT
+            case 44 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:289: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 90 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:575: RULE_WS
+            case 45 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:305: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 91 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:583: RULE_ANY_OTHER
+            case 46 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1:313: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -3037,323 +1732,247 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\1\56\1\61\1\62\1\uffff\2\56\1\uffff\3\56\1\uffff\3\56\2"+
-        "\uffff\13\56\1\uffff\3\56\1\uffff\3\56\1\53\2\uffff\3\53\2\uffff"+
-        "\2\56\1\uffff\2\56\3\uffff\4\56\1\uffff\6\56\1\uffff\5\56\2\uffff"+
-        "\22\56\1\uffff\6\56\1\uffff\3\56\5\uffff\71\56\1\u00d8\2\56\1\u00db"+
-        "\6\56\1\u00e2\32\56\1\u00fd\16\56\1\u010c\1\u010d\1\uffff\2\56\1"+
-        "\uffff\3\56\1\u0113\2\56\1\uffff\32\56\1\uffff\10\56\1\u013c\4\56"+
-        "\1\u0142\2\uffff\5\56\1\uffff\4\56\1\u014d\13\56\1\u015b\27\56\1"+
-        "\uffff\5\56\1\uffff\1\u0179\1\56\1\u017b\7\56\1\uffff\15\56\1\uffff"+
-        "\10\56\1\u0198\1\56\1\u019a\22\56\1\uffff\1\56\1\uffff\15\56\1\u01bb"+
-        "\1\u01bc\15\56\1\uffff\1\56\1\uffff\5\56\1\u01d1\1\u01d3\3\56\1"+
-        "\u01d7\13\56\1\u01e4\6\56\1\u01ec\1\u01ed\1\56\2\uffff\5\56\1\u01f4"+
-        "\3\56\1\u01f8\3\56\1\u01fe\6\56\1\uffff\1\56\1\uffff\3\56\1\uffff"+
-        "\13\56\1\u0218\1\uffff\1\56\1\u021a\4\56\1\u021f\2\uffff\2\56\1"+
-        "\u0222\3\56\1\uffff\3\56\1\uffff\2\56\1\u022b\2\56\1\uffff\10\56"+
-        "\1\u0236\5\56\1\u023c\1\u023d\11\56\1\uffff\1\56\1\uffff\1\u0249"+
-        "\1\56\1\u024b\1\u024c\1\uffff\1\56\1\u024e\1\uffff\4\56\1\u0253"+
-        "\1\56\1\u0255\1\56\1\uffff\6\56\1\u025d\3\56\1\uffff\5\56\2\uffff"+
-        "\13\56\1\uffff\1\56\2\uffff\1\56\1\uffff\4\56\1\uffff\1\56\1\uffff"+
-        "\4\56\1\u027c\2\56\1\uffff\22\56\1\u0291\5\56\1\u0297\1\u0298\1"+
-        "\u0299\2\56\1\u029c\1\uffff\15\56\1\u02aa\6\56\1\uffff\5\56\3\uffff"+
-        "\2\56\1\uffff\4\56\1\u02bc\2\56\1\u02bf\1\u02c0\1\56\1\u02c2\2\56"+
-        "\1\uffff\1\56\1\u02c6\3\56\1\u02ca\1\u02cb\3\56\1\u02cf\6\56\1\uffff"+
-        "\1\56\1\u02d7\2\uffff\1\56\1\uffff\3\56\1\uffff\1\u02dc\2\56\2\uffff"+
-        "\3\56\1\uffff\7\56\1\uffff\2\56\1\u02eb\1\56\1\uffff\4\56\1\u02f1"+
-        "\7\56\1\u02f9\1\56\1\uffff\5\56\1\uffff\4\56\1\u0304\1\u0305\1\56"+
-        "\1\uffff\1\u0307\4\56\1\u030d\1\u030e\3\56\2\uffff\1\56\1\uffff"+
-        "\5\56\2\uffff\1\u0318\2\56\1\u031b\5\56\1\uffff\2\56\1\uffff\13"+
-        "\56\1\u032e\4\56\1\u0333\1\56\1\uffff\2\56\1\u0337\1\u0338\1\uffff"+
-        "\3\56\2\uffff\6\56\1\u0342\2\56\1\uffff\1\56\1\u0346\1\56\1\uffff"+
-        "\1\u0348\1\uffff";
+        "\1\uffff\5\46\1\54\1\55\1\uffff\2\46\1\uffff\2\46\2\uffff\5\46\1"+
+        "\uffff\2\46\2\uffff\2\46\1\43\2\uffff\3\43\2\uffff\2\46\1\uffff"+
+        "\5\46\3\uffff\3\46\1\uffff\3\46\2\uffff\7\46\1\uffff\2\46\2\uffff"+
+        "\2\46\5\uffff\25\46\1\173\15\46\1\u0089\14\46\1\uffff\15\46\1\uffff"+
+        "\10\46\1\u00ac\15\46\1\u00bb\11\46\1\u00c5\1\46\1\uffff\1\u00c7"+
+        "\15\46\1\uffff\3\46\1\u00d8\1\46\1\u00da\3\46\1\uffff\1\46\1\uffff"+
+        "\7\46\1\u00e6\10\46\1\uffff\1\46\1\uffff\13\46\1\uffff\15\46\1\u0109"+
+        "\3\46\1\u010d\1\46\1\u010f\2\46\1\u0112\7\46\1\u011a\1\u011b\1\46"+
+        "\1\u011d\1\uffff\3\46\1\uffff\1\u0121\1\uffff\1\u0122\1\46\1\uffff"+
+        "\7\46\2\uffff\1\46\1\uffff\2\46\1\u012e\2\uffff\1\46\1\u0130\11"+
+        "\46\1\uffff\1\46\1\uffff\3\46\1\u013e\11\46\1\uffff\6\46\1\u014e"+
+        "\4\46\1\u0153\3\46\1\uffff\3\46\1\u015a\1\uffff\4\46\1\u015f\1\46"+
+        "\1\uffff\1\46\1\u0162\2\46\1\uffff\2\46\1\uffff\1\u0167\3\46\1\uffff"+
+        "\11\46\1\u0174\1\46\1\u0176\1\uffff\1\46\1\uffff\1\u0178\1\uffff";
     static final String DFA12_eofS =
-        "\u0349\uffff";
+        "\u0179\uffff";
     static final String DFA12_minS =
-        "\1\0\1\143\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\1\141\1\142\1\145\3\157\1\162\1"+
-        "\uffff\1\145\2\141\1\uffff\1\145\1\163\1\141\1\101\2\uffff\2\0\1"+
-        "\52\2\uffff\1\141\1\164\1\uffff\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\151\1\162\1\157\1\145\1\154\1\152\1\146\1\157\1\156\1\162"+
-        "\1\144\1\141\1\uffff\1\144\1\164\1\156\1\170\1\141\1\154\1\uffff"+
-        "\1\151\1\145\1\163\5\uffff\1\160\1\151\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\1\141\1\162\1\160\1\117\1\147"+
-        "\1\141\1\160\1\162\1\103\1\145\1\143\1\141\1\160\1\156\1\144\1\162"+
-        "\1\171\1\156\1\145\1\162\2\126\1\163\1\162\1\151\1\165\1\147\1\144"+
-        "\2\164\1\157\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\2\164\1\101\1\146\1\150\1\155\1\145\1\141\1\157\1\143\1\162"+
-        "\1\165\1\101\1\164\1\151\2\145\1\60\1\143\1\154\1\151\2\141\1\165"+
-        "\1\151\1\141\1\145\1\150\1\124\1\111\1\141\1\156\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\145\1\101\1\143\1\103\1\164"+
-        "\1\145\1\162\1\154\1\156\1\164\1\151\1\154\1\143\1\145\1\164\1\170"+
-        "\1\156\1\uffff\1\150\1\105\1\143\2\154\1\162\1\143\1\156\1\60\1"+
-        "\164\1\141\1\155\1\164\1\60\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\147\1\143\1\164\1\157\1\60\2\164\1\154\1\163\1\151"+
-        "\1\160\2\164\1\162\1\151\2\164\1\101\1\141\1\156\1\126\2\165\1\145"+
-        "\1\124\1\151\1\164\1\157\1\uffff\1\145\1\143\1\160\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\156\1\162\1\141\1\166\1\156\1\144\1\157\1\171\1\164\1"+
-        "\151\2\156\1\144\1\uffff\1\145\1\171\1\107\1\164\1\166\1\164\1\127"+
-        "\1\151\1\60\1\157\1\60\1\127\1\143\1\162\1\164\1\141\2\145\1\144"+
-        "\1\171\1\157\1\163\1\156\1\144\1\156\1\164\1\141\1\157\1\146\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\2\60\1\151\1\157\1\146\1\147\1\115\1\162"+
-        "\1\122\1\157\1\162\1\145\1\151\1\145\1\157\1\uffff\1\156\1\uffff"+
-        "\1\145\1\164\2\151\1\154\2\60\1\105\1\160\1\156\1\60\1\163\1\115"+
-        "\1\147\1\151\1\143\1\156\1\145\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\2\uffff\1\157\1\156\1"+
-        "\151\1\106\1\145\1\60\3\141\1\60\1\157\1\151\1\156\1\60\2\151\1"+
-        "\141\1\164\1\165\1\157\1\uffff\1\157\1\uffff\1\156\1\145\1\120\1"+
-        "\uffff\1\164\1\141\1\145\1\106\1\143\1\164\1\101\1\162\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\156\1\60\1\147\1\165\1\164\1\uffff\1\156\1\154\1\151\1"+
-        "\uffff\1\156\1\147\1\60\1\162\1\141\1\uffff\1\147\1\157\1\142\1"+
-        "\171\1\145\2\156\1\164\1\60\1\157\1\162\1\143\1\164\1\165\2\60\1"+
-        "\143\1\151\1\154\1\143\1\145\1\166\1\143\1\160\1\164\1\uffff\1\157"+
-        "\1\uffff\1\60\1\120\2\60\1\uffff\1\160\1\60\1\uffff\1\165\1\156"+
-        "\1\162\1\147\1\60\1\156\1\60\1\150\1\uffff\1\165\1\154\1\150\1\156"+
-        "\1\154\1\103\1\60\2\163\1\151\1\uffff\1\163\1\141\1\164\1\162\1"+
-        "\156\2\uffff\1\157\1\162\1\157\1\141\1\164\1\156\1\145\1\164\1\145"+
-        "\1\151\1\156\1\uffff\1\154\2\uffff\1\164\1\uffff\1\162\1\143\1\151"+
-        "\1\145\1\uffff\1\164\1\uffff\1\164\1\145\1\163\1\164\1\60\1\145"+
-        "\1\157\1\uffff\3\164\1\163\3\151\1\143\1\160\1\145\1\143\1\156\1"+
-        "\151\1\143\1\156\1\151\1\162\1\164\1\60\3\141\1\164\1\143\3\60\1"+
-        "\102\1\145\1\60\1\uffff\1\103\1\156\2\162\1\171\1\151\1\156\2\143"+
-        "\1\164\1\145\1\143\1\145\1\60\1\157\1\145\1\164\1\157\1\141\1\171"+
-        "\1\uffff\1\156\2\164\1\151\1\163\3\uffff\1\162\1\102\1\uffff\1\157"+
-        "\1\146\2\141\1\60\1\142\1\164\2\60\1\151\1\60\1\164\1\163\1\uffff"+
-        "\1\156\1\60\1\163\1\156\1\164\2\60\2\151\1\157\1\60\1\141\1\162"+
-        "\1\156\3\151\1\uffff\1\151\1\60\2\uffff\1\157\1\uffff\1\151\1\163"+
-        "\1\117\1\uffff\1\60\1\117\1\151\2\uffff\2\157\1\156\1\uffff\1\156"+
-        "\1\141\1\146\1\147\2\156\1\154\1\uffff\1\156\1\157\1\60\1\160\1"+
-        "\uffff\1\160\1\157\2\156\1\60\1\143\1\156\1\151\1\165\2\164\1\151"+
-        "\1\60\1\156\1\uffff\2\145\1\156\1\120\1\163\1\uffff\1\150\1\143"+
-        "\1\147\1\162\2\60\1\164\1\uffff\1\60\2\162\1\104\1\157\2\60\1\150"+
-        "\1\165\1\141\2\uffff\1\171\1\uffff\2\141\1\143\2\151\2\uffff\1\60"+
-        "\1\162\1\164\1\60\2\164\1\157\1\162\1\156\1\uffff\1\141\1\151\1"+
-        "\uffff\2\151\1\160\1\145\2\164\3\157\1\145\1\143\1\60\1\151\3\156"+
-        "\1\60\1\164\1\uffff\1\157\1\122\2\60\1\uffff\1\151\1\156\1\141\2"+
-        "\uffff\1\157\1\122\2\156\1\141\1\147\1\60\1\156\1\145\1\uffff\1"+
-        "\147\1\60\1\145\1\uffff\1\60\1\uffff";
+        "\1\0\1\145\1\157\1\162\1\143\1\162\2\60\1\uffff\1\157\1\143\1\uffff"+
+        "\1\141\1\164\2\uffff\2\141\1\155\1\142\1\145\1\uffff\2\145\2\uffff"+
+        "\1\142\1\141\1\101\2\uffff\2\0\1\52\2\uffff\1\141\1\164\1\uffff"+
+        "\1\157\1\141\1\164\1\141\1\157\3\uffff\1\141\1\164\1\141\1\uffff"+
+        "\1\143\1\151\1\162\2\uffff\1\162\1\143\2\160\1\164\1\152\1\146\1"+
+        "\uffff\1\151\1\163\2\uffff\1\152\1\163\5\uffff\1\160\1\141\1\162"+
+        "\1\117\1\160\1\156\1\151\2\160\1\154\1\151\1\160\1\164\1\147\2\141"+
+        "\1\164\1\154\1\165\1\160\1\145\1\60\1\147\1\143\1\145\1\164\1\101"+
+        "\2\164\1\146\1\101\1\143\1\157\1\164\1\145\1\60\1\157\1\164\1\151"+
+        "\1\147\1\164\1\155\1\151\1\145\1\164\1\165\1\143\1\162\1\uffff\1"+
+        "\150\1\162\1\143\1\111\1\143\1\145\1\101\1\103\1\143\1\150\1\156"+
+        "\1\141\1\162\1\uffff\1\156\1\141\1\143\3\145\1\143\1\155\1\60\2"+
+        "\164\1\162\1\164\1\151\1\164\1\155\1\164\1\147\1\143\1\157\1\164"+
+        "\1\101\1\60\1\157\2\164\1\163\1\164\1\163\1\162\1\147\1\164\1\60"+
+        "\1\145\1\uffff\1\60\1\151\1\145\1\151\1\160\1\151\1\160\1\151\1"+
+        "\171\1\164\1\156\1\151\1\143\1\145\1\uffff\1\156\1\151\1\171\1\60"+
+        "\1\151\1\60\2\151\1\145\1\uffff\1\156\1\uffff\1\166\1\144\1\156"+
+        "\1\164\1\166\1\141\1\157\1\60\1\151\1\146\1\157\1\164\1\146\1\101"+
+        "\1\157\1\122\1\uffff\1\157\1\uffff\1\156\1\145\1\162\1\164\1\145"+
+        "\1\101\1\147\1\151\1\145\1\143\1\156\1\uffff\1\157\1\151\1\156\1"+
+        "\151\1\145\1\143\1\156\1\141\1\156\1\147\2\163\1\145\1\60\1\144"+
+        "\1\106\1\157\1\60\1\164\1\60\1\156\1\147\1\60\1\157\1\162\1\164"+
+        "\1\120\1\156\1\101\1\105\2\60\1\144\1\60\1\uffff\1\141\1\165\1\156"+
+        "\1\uffff\1\60\1\uffff\1\60\1\165\1\uffff\1\156\1\145\1\151\1\162"+
+        "\1\147\1\143\1\166\2\uffff\1\120\1\uffff\1\160\1\156\1\60\2\uffff"+
+        "\1\162\1\60\1\156\2\157\1\145\1\164\1\145\1\154\1\164\1\143\1\uffff"+
+        "\1\141\1\uffff\1\143\1\156\1\143\1\60\1\151\1\156\2\141\2\164\1"+
+        "\145\1\117\1\145\1\uffff\1\157\1\164\1\156\1\164\2\151\1\60\1\160"+
+        "\1\163\1\156\1\163\1\60\1\151\2\157\1\uffff\1\145\1\163\1\117\1"+
+        "\60\1\uffff\1\157\2\156\1\162\1\60\1\160\1\uffff\1\156\1\60\1\163"+
+        "\1\141\1\uffff\1\145\1\120\1\uffff\1\60\1\164\1\162\1\157\1\uffff"+
+        "\1\151\1\141\1\151\1\157\1\164\2\156\1\151\1\164\1\60\1\157\1\60"+
+        "\1\uffff\1\156\1\uffff\1\60\1\uffff";
     static final String DFA12_maxS =
-        "\1\uffff\1\144\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\166\1\145\1\157\1\165\1\157\1\162\1\uffff\1\157\1\151\1\141\1"+
-        "\uffff\1\145\1\163\1\141\1\172\2\uffff\2\uffff\1\57\2\uffff\1\141"+
-        "\1\164\1\uffff\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\1\154\1\146\1\162\1\164\1\151\1\162\1\157"+
-        "\1\145\1\154\1\152\1\163\1\157\1\165\1\162\1\144\1\141\1\uffff\1"+
-        "\144\1\164\1\156\1\170\1\164\1\162\1\uffff\1\151\1\145\1\163\5\uffff"+
-        "\1\160\1\151\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\1\141\1\162\1\160\1\117\1\147\1\141\1\160\1\162\1\103\1\145"+
-        "\1\143\1\141\1\160\1\156\1\164\1\162\1\171\1\156\1\145\1\162\2\126"+
-        "\1\163\1\162\1\151\1\165\1\147\1\144\2\164\1\157\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\2\164\1\101\1\146\1\150"+
-        "\1\155\1\145\1\141\1\157\1\143\1\162\1\165\1\101\1\164\1\151\2\145"+
-        "\1\172\1\143\1\154\1\151\2\141\1\165\1\151\1\141\1\145\1\150\1\124"+
-        "\1\111\1\141\1\156\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\145\1\101\1\143\1\103\1\164\1\145\1\162\1\154\1\156"+
-        "\1\164\1\151\1\154\1\143\1\145\1\164\1\170\1\156\1\uffff\1\150\1"+
-        "\126\1\143\2\154\1\162\1\143\1\164\1\172\1\164\1\141\1\155\1\164"+
-        "\1\172\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\147\1\143"+
-        "\1\164\1\157\1\172\2\164\1\154\1\163\1\151\1\160\2\164\1\162\1\151"+
-        "\2\164\1\101\1\141\1\156\1\126\2\165\1\145\1\124\1\151\1\164\1\157"+
-        "\1\uffff\1\151\1\143\1\160\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\156\1\162\1"+
-        "\141\1\166\1\156\1\144\1\157\1\171\1\164\1\151\2\156\1\144\1\uffff"+
-        "\1\145\1\171\1\107\1\164\1\166\1\164\1\127\1\151\1\172\1\157\1\172"+
-        "\1\127\1\143\1\162\1\164\1\141\2\145\1\144\1\171\1\157\1\163\1\156"+
-        "\1\144\1\156\1\164\1\141\1\157\1\146\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"+
-        "\2\172\1\151\1\157\1\146\1\147\1\115\1\162\1\122\1\157\1\162\1\145"+
-        "\1\151\1\145\1\157\1\uffff\1\156\1\uffff\1\145\1\164\2\151\1\154"+
-        "\2\172\1\105\1\160\1\156\1\172\1\163\1\124\1\147\1\151\1\143\1\156"+
-        "\1\145\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\2\uffff\1\157\1\156\1\151\1\106\1\145\1\172\3"+
-        "\141\1\172\1\157\1\151\1\156\1\172\2\151\1\141\1\164\1\165\1\157"+
-        "\1\uffff\1\157\1\uffff\1\156\1\145\1\120\1\uffff\1\164\1\141\1\145"+
-        "\1\106\1\143\1\164\1\123\1\162\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\156\1\172"+
-        "\1\147\1\165\1\164\1\uffff\1\156\1\154\1\151\1\uffff\1\156\1\147"+
-        "\1\172\1\162\1\141\1\uffff\1\147\1\157\1\142\1\171\1\145\2\156\1"+
-        "\164\1\172\1\157\1\162\1\143\1\164\1\165\2\172\1\143\1\151\1\162"+
-        "\1\143\1\145\1\166\1\143\1\160\1\164\1\uffff\1\157\1\uffff\1\172"+
-        "\1\120\2\172\1\uffff\1\160\1\172\1\uffff\1\165\1\156\1\162\1\147"+
-        "\1\172\1\156\1\172\1\150\1\uffff\1\165\1\154\1\150\1\156\1\154\1"+
-        "\103\1\172\2\163\1\151\1\uffff\1\163\1\141\1\164\1\162\1\156\2\uffff"+
-        "\1\157\1\162\1\157\1\141\1\164\1\156\1\145\1\164\1\145\1\151\1\156"+
-        "\1\uffff\1\154\2\uffff\1\164\1\uffff\1\162\1\143\1\151\1\145\1\uffff"+
-        "\1\164\1\uffff\1\164\1\145\1\163\1\164\1\172\1\145\1\157\1\uffff"+
-        "\3\164\1\163\3\151\1\143\1\160\1\145\1\143\1\156\1\151\1\143\1\156"+
-        "\1\151\1\162\1\164\1\172\3\141\1\164\1\143\3\172\1\102\1\145\1\172"+
-        "\1\uffff\1\103\1\156\2\162\1\171\1\151\1\156\2\143\1\164\1\145\1"+
-        "\143\1\145\1\172\1\157\1\145\1\164\1\157\1\141\1\171\1\uffff\1\156"+
-        "\2\164\1\151\1\163\3\uffff\1\162\1\102\1\uffff\1\157\1\146\2\141"+
-        "\1\172\1\142\1\164\2\172\1\151\1\172\1\164\1\163\1\uffff\1\156\1"+
-        "\172\1\163\1\156\1\164\2\172\2\151\1\157\1\172\1\141\1\162\1\156"+
-        "\3\151\1\uffff\1\151\1\172\2\uffff\1\157\1\uffff\1\151\1\163\1\117"+
-        "\1\uffff\1\172\1\117\1\151\2\uffff\2\157\1\156\1\uffff\1\156\1\141"+
-        "\1\146\1\147\2\156\1\154\1\uffff\1\156\1\157\1\172\1\160\1\uffff"+
-        "\1\160\1\157\2\156\1\172\1\143\1\156\1\151\1\165\2\164\1\151\1\172"+
-        "\1\156\1\uffff\2\145\1\156\1\120\1\163\1\uffff\1\150\1\143\1\147"+
-        "\1\162\2\172\1\164\1\uffff\1\172\2\162\1\123\1\157\2\172\1\150\1"+
-        "\165\1\141\2\uffff\1\171\1\uffff\2\141\1\143\2\151\2\uffff\1\172"+
-        "\1\162\1\164\1\172\2\164\1\157\1\162\1\156\1\uffff\1\141\1\151\1"+
-        "\uffff\2\151\1\160\1\145\2\164\3\157\1\145\1\143\1\172\1\151\3\156"+
-        "\1\172\1\164\1\uffff\1\157\1\122\2\172\1\uffff\1\151\1\156\1\141"+
-        "\2\uffff\1\157\1\122\2\156\1\141\1\147\1\172\1\156\1\145\1\uffff"+
-        "\1\147\1\172\1\145\1\uffff\1\172\1\uffff";
+        "\1\uffff\1\164\1\157\1\162\1\144\1\162\2\172\1\uffff\1\157\1\144"+
+        "\1\uffff\1\162\1\164\2\uffff\2\141\1\156\1\165\1\145\1\uffff\2\145"+
+        "\2\uffff\1\142\1\141\1\172\2\uffff\2\uffff\1\57\2\uffff\1\162\1"+
+        "\164\1\uffff\1\157\1\141\1\164\1\141\1\157\3\uffff\1\141\1\164\1"+
+        "\141\1\uffff\1\143\1\151\1\162\2\uffff\1\162\1\143\2\160\1\164\1"+
+        "\152\1\146\1\uffff\1\151\1\163\2\uffff\1\152\1\163\5\uffff\1\160"+
+        "\1\141\1\162\1\117\1\160\1\156\1\151\2\160\1\154\1\151\1\160\1\164"+
+        "\1\147\2\141\1\164\1\154\1\165\1\160\1\145\1\172\1\147\1\143\1\145"+
+        "\1\164\1\101\2\164\1\146\1\101\1\143\1\157\1\164\1\145\1\172\1\157"+
+        "\1\164\1\151\1\147\1\164\1\155\1\151\1\145\1\164\1\165\1\143\1\162"+
+        "\1\uffff\1\150\1\162\1\143\1\111\1\143\1\145\1\101\1\103\1\143\1"+
+        "\150\1\156\1\151\1\162\1\uffff\1\156\1\141\1\143\3\145\1\143\1\155"+
+        "\1\172\2\164\1\162\1\164\1\151\1\164\1\155\1\164\1\147\1\143\1\157"+
+        "\1\164\1\101\1\172\1\157\2\164\1\163\1\164\1\163\1\162\1\147\1\164"+
+        "\1\172\1\145\1\uffff\1\172\1\151\1\145\1\151\1\160\1\151\1\160\1"+
+        "\151\1\171\1\164\1\156\1\151\1\143\1\145\1\uffff\1\156\1\151\1\171"+
+        "\1\172\1\151\1\172\2\151\1\145\1\uffff\1\156\1\uffff\1\166\1\144"+
+        "\1\156\1\164\1\166\1\141\1\157\1\172\1\151\1\146\1\157\1\164\1\146"+
+        "\1\101\1\157\1\122\1\uffff\1\157\1\uffff\1\156\1\145\1\162\1\164"+
+        "\1\145\1\101\1\147\1\151\1\145\1\143\1\156\1\uffff\1\157\1\151\1"+
+        "\156\1\151\1\145\1\143\1\156\1\141\1\156\1\147\2\163\1\145\1\172"+
+        "\1\144\1\106\1\157\1\172\1\164\1\172\1\156\1\147\1\172\1\157\1\162"+
+        "\1\164\1\120\1\156\1\101\1\105\2\172\1\144\1\172\1\uffff\1\141\1"+
+        "\165\1\156\1\uffff\1\172\1\uffff\1\172\1\165\1\uffff\1\156\1\145"+
+        "\1\151\1\162\1\147\1\143\1\166\2\uffff\1\120\1\uffff\1\160\1\156"+
+        "\1\172\2\uffff\1\162\1\172\1\156\2\157\1\145\1\164\1\145\1\154\1"+
+        "\164\1\143\1\uffff\1\141\1\uffff\1\143\1\156\1\143\1\172\1\151\1"+
+        "\156\2\141\2\164\1\145\1\117\1\145\1\uffff\1\157\1\164\1\156\1\164"+
+        "\2\151\1\172\1\160\1\163\1\156\1\163\1\172\1\151\2\157\1\uffff\1"+
+        "\145\1\163\1\117\1\172\1\uffff\1\157\2\156\1\162\1\172\1\160\1\uffff"+
+        "\1\156\1\172\1\163\1\141\1\uffff\1\145\1\120\1\uffff\1\172\1\164"+
+        "\1\162\1\157\1\uffff\1\151\1\141\1\151\1\157\1\164\2\156\1\151\1"+
+        "\164\1\172\1\157\1\172\1\uffff\1\156\1\uffff\1\172\1\uffff";
     static final String DFA12_acceptS =
-        "\4\uffff\1\7\2\uffff\1\12\3\uffff\1\16\3\uffff\1\23\1\24\13\uffff"+
-        "\1\62\3\uffff\1\74\4\uffff\1\125\1\126\3\uffff\1\132\1\133\2\uffff"+
-        "\1\125\2\uffff\1\4\1\5\1\7\4\uffff\1\12\6\uffff\1\16\5\uffff\1\23"+
-        "\1\24\22\uffff\1\62\6\uffff\1\74\3\uffff\1\126\1\127\1\130\1\131"+
-        "\1\132\157\uffff\1\10\2\uffff\1\36\6\uffff\1\15\32\uffff\1\52\16"+
-        "\uffff\1\3\1\107\5\uffff\1\43\50\uffff\1\120\5\uffff\1\26\12\uffff"+
-        "\1\20\15\uffff\1\124\35\uffff\1\11\1\uffff\1\13\34\uffff\1\51\1"+
-        "\uffff\1\57\40\uffff\1\61\1\31\24\uffff\1\67\1\uffff\1\70\3\uffff"+
-        "\1\102\14\uffff\1\46\7\uffff\1\32\1\104\6\uffff\1\35\3\uffff\1\105"+
-        "\5\uffff\1\56\31\uffff\1\14\1\uffff\1\17\4\uffff\1\41\2\uffff\1"+
-        "\47\10\uffff\1\50\12\uffff\1\122\5\uffff\1\113\1\114\13\uffff\1"+
-        "\45\1\uffff\1\22\1\25\1\uffff\1\44\4\uffff\1\37\1\uffff\1\40\7\uffff"+
-        "\1\117\36\uffff\1\53\24\uffff\1\106\5\uffff\1\75\1\103\1\112\2\uffff"+
-        "\1\111\15\uffff\1\42\21\uffff\1\121\2\uffff\1\110\1\123\1\uffff"+
-        "\1\1\3\uffff\1\60\3\uffff\1\71\1\21\3\uffff\1\116\7\uffff\1\101"+
-        "\4\uffff\1\33\16\uffff\1\6\5\uffff\1\34\7\uffff\1\115\12\uffff\1"+
-        "\76\1\77\1\uffff\1\2\5\uffff\1\100\1\54\11\uffff\1\55\2\uffff\1"+
-        "\73\22\uffff\1\27\4\uffff\1\64\3\uffff\1\63\1\30\11\uffff\1\65\3"+
-        "\uffff\1\72\1\uffff\1\66";
+        "\10\uffff\1\13\2\uffff\1\16\2\uffff\1\21\1\22\5\uffff\1\35\2\uffff"+
+        "\1\43\1\44\3\uffff\1\50\1\51\3\uffff\1\55\1\56\2\uffff\1\50\5\uffff"+
+        "\1\10\1\11\1\13\3\uffff\1\16\3\uffff\1\21\1\22\7\uffff\1\35\2\uffff"+
+        "\1\43\1\44\2\uffff\1\51\1\52\1\53\1\54\1\55\60\uffff\1\47\15\uffff"+
+        "\1\14\42\uffff\1\26\16\uffff\1\30\11\uffff\1\24\1\uffff\1\27\20"+
+        "\uffff\1\15\1\uffff\1\17\13\uffff\1\33\42\uffff\1\34\3\uffff\1\45"+
+        "\1\uffff\1\1\2\uffff\1\2\7\uffff\1\20\1\23\1\uffff\1\41\3\uffff"+
+        "\1\46\1\42\13\uffff\1\40\1\uffff\1\3\15\uffff\1\6\17\uffff\1\4\4"+
+        "\uffff\1\25\6\uffff\1\36\4\uffff\1\12\2\uffff\1\37\4\uffff\1\7\14"+
+        "\uffff\1\5\1\uffff\1\31\1\uffff\1\32";
     static final String DFA12_specialS =
-        "\1\0\46\uffff\1\1\1\2\u0320\uffff}>";
+        "\1\0\36\uffff\1\2\1\1\u0158\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\53\2\52\2\53\1\52\22\53\1\52\1\53\1\47\4\53\1\50\1\17\1"+
-            "\20\2\53\1\13\1\34\1\40\1\51\12\46\7\53\1\1\1\33\2\45\1\2\6"+
-            "\45\1\30\1\35\1\45\1\26\1\25\2\45\1\23\1\15\2\45\1\41\3\45\3"+
-            "\53\1\44\1\45\1\53\1\10\1\32\1\31\1\27\1\3\1\45\1\12\1\45\1"+
-            "\16\2\45\1\43\1\36\1\5\1\21\1\14\1\45\1\22\1\11\1\6\1\42\1\37"+
-            "\1\24\3\45\1\4\1\53\1\7\uff82\53",
-            "\1\55\1\54",
-            "\12\56\7\uffff\3\56\1\57\26\56\4\uffff\1\56\1\uffff\25\56\1"+
-            "\60\4\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\4\43\1"+
+            "\17\1\30\1\31\1\41\12\36\1\13\2\43\1\25\3\43\1\4\1\3\1\35\1"+
+            "\27\1\6\6\35\1\2\2\35\1\32\1\5\2\35\1\1\1\21\6\35\3\43\1\34"+
+            "\1\35\1\43\1\12\3\35\1\7\1\35\1\11\1\35\1\22\2\35\1\33\2\35"+
+            "\1\23\1\20\1\35\1\24\1\15\1\14\2\35\1\26\3\35\1\10\1\43\1\16"+
+            "\uff82\43",
+            "\1\45\16\uffff\1\44",
+            "\1\47",
+            "\1\50",
+            "\1\51\1\52",
+            "\1\53",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "\1\57",
+            "\1\60\1\61",
+            "",
+            "\1\63\20\uffff\1\64",
+            "\1\65",
+            "",
+            "",
+            "\1\70",
+            "\1\71",
+            "\1\72\1\73",
+            "\1\75\22\uffff\1\74",
+            "\1\76",
             "",
-            "\1\64",
-            "\1\65\20\uffff\1\66\6\uffff\1\67",
+            "\1\100",
+            "\1\101",
             "",
-            "\1\71\1\72",
-            "\1\75\3\uffff\1\73\1\74",
-            "\1\76",
             "",
-            "\1\100\20\uffff\1\101",
-            "\1\102",
-            "\1\103\1\104",
+            "\1\104",
+            "\1\105",
+            "\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "",
+            "\0\107",
+            "\0\107",
+            "\1\110\4\uffff\1\111",
+            "",
             "",
+            "\1\115\15\uffff\1\113\2\uffff\1\114",
+            "\1\116",
             "",
-            "\1\110\1\111\21\uffff\1\107",
-            "\1\112",
-            "\1\114\16\uffff\1\113",
-            "\1\115",
-            "\1\116\20\uffff\1\117",
-            "\1\122\1\121\22\uffff\1\120",
+            "\1\117",
+            "\1\120",
+            "\1\121",
+            "\1\122",
             "\1\123",
+            "",
+            "",
+            "",
             "\1\124",
-            "\1\125\5\uffff\1\126",
+            "\1\125",
+            "\1\126",
+            "",
             "\1\127",
             "\1\130",
+            "\1\131",
             "",
-            "\1\133\11\uffff\1\132",
-            "\1\135\3\uffff\1\136\3\uffff\1\134",
+            "",
+            "\1\132",
+            "\1\133",
+            "\1\134",
+            "\1\135",
+            "\1\136",
             "\1\137",
+            "\1\140",
             "",
             "\1\141",
             "\1\142",
+            "",
+            "",
             "\1\143",
-            "\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\144",
+            "",
             "",
             "",
-            "\0\145",
-            "\0\145",
-            "\1\146\4\uffff\1\147",
             "",
             "",
+            "\1\145",
+            "\1\146",
+            "\1\147",
+            "\1\150",
             "\1\151",
             "\1\152",
-            "",
             "\1\153",
             "\1\154",
-            "",
-            "",
-            "",
             "\1\155",
             "\1\156",
             "\1\157",
             "\1\160",
-            "",
             "\1\161",
             "\1\162",
-            "\1\164\14\uffff\1\163",
+            "\1\163",
+            "\1\164",
             "\1\165",
             "\1\166",
             "\1\167",
-            "",
             "\1\170",
             "\1\171",
-            "\1\172",
-            "\1\173",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\4\46\1\172\25\46",
             "\1\174",
-            "",
-            "",
             "\1\175",
             "\1\176",
             "\1\177",
             "\1\u0080",
-            "\1\u0082\15\uffff\1\u0083\2\uffff\1\u0081",
+            "\1\u0081",
+            "\1\u0082",
+            "\1\u0083",
             "\1\u0084",
             "\1\u0085",
             "\1\u0086",
             "\1\u0087",
             "\1\u0088",
-            "\1\u0089",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u008a",
-            "\1\u008c\14\uffff\1\u008b",
+            "\1\u008b",
+            "\1\u008c",
             "\1\u008d",
-            "\1\u008f\6\uffff\1\u008e",
+            "\1\u008e",
+            "\1\u008f",
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
-            "",
             "\1\u0093",
             "\1\u0094",
             "\1\u0095",
-            "\1\u0096",
-            "\1\u0097\22\uffff\1\u0098",
-            "\1\u009a\5\uffff\1\u0099",
             "",
+            "\1\u0096",
+            "\1\u0097",
+            "\1\u0098",
+            "\1\u0099",
+            "\1\u009a",
             "\1\u009b",
             "\1\u009c",
             "\1\u009d",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\u009e",
             "\1\u009f",
             "\1\u00a0",
-            "\1\u00a1",
-            "\1\u00a2",
+            "\1\u00a2\7\uffff\1\u00a1",
             "\1\u00a3",
+            "",
             "\1\u00a4",
             "\1\u00a5",
             "\1\u00a6",
@@ -3362,7 +1981,7 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00a9",
             "\1\u00aa",
             "\1\u00ab",
-            "\1\u00ac",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00ad",
             "\1\u00ae",
             "\1\u00af",
@@ -3376,8 +1995,8 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00b7",
             "\1\u00b8",
             "\1\u00b9",
-            "\1\u00ba",
-            "\1\u00bb",
+            "\12\46\7\uffff\21\46\1\u00ba\10\46\4\uffff\1\46\1\uffff\32"+
+            "\46",
             "\1\u00bc",
             "\1\u00bd",
             "\1\u00be",
@@ -3386,9 +2005,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00c1",
             "\1\u00c2",
             "\1\u00c3",
-            "\1\u00c4\17\uffff\1\u00c5",
+            "\1\u00c4",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00c6",
-            "\1\u00c7",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00c8",
             "\1\u00c9",
             "\1\u00ca",
@@ -3402,24 +2023,27 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00d2",
             "\1\u00d3",
             "\1\u00d4",
+            "",
             "\1\u00d5",
             "\1\u00d6",
             "\1\u00d7",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00d9",
-            "\1\u00da",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\1\u00db",
             "\1\u00dc",
             "\1\u00dd",
+            "",
             "\1\u00de",
+            "",
             "\1\u00df",
             "\1\u00e0",
             "\1\u00e1",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00e2",
             "\1\u00e3",
             "\1\u00e4",
             "\1\u00e5",
-            "\1\u00e6",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00e7",
             "\1\u00e8",
             "\1\u00e9",
@@ -3428,7 +2052,9 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00ec",
             "\1\u00ed",
             "\1\u00ee",
+            "",
             "\1\u00ef",
+            "",
             "\1\u00f0",
             "\1\u00f1",
             "\1\u00f2",
@@ -3440,9 +2066,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00f8",
             "\1\u00f9",
             "\1\u00fa",
+            "",
             "\1\u00fb",
             "\1\u00fc",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00fd",
             "\1\u00fe",
             "\1\u00ff",
             "\1\u0100",
@@ -3453,36 +2080,37 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
-            "\1\u0108",
-            "\1\u0109",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0108\7\46",
             "\1\u010a",
             "\1\u010b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
+            "\1\u010c",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u010e",
-            "\1\u010f",
-            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0110",
             "\1\u0111",
-            "\1\u0112",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\1\u0113",
             "\1\u0114",
             "\1\u0115",
-            "",
             "\1\u0116",
             "\1\u0117",
             "\1\u0118",
             "\1\u0119",
-            "\1\u011a",
-            "\1\u011b",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u011c",
-            "\1\u011d",
-            "\1\u011e\1\u011f",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "\1\u011e",
+            "\1\u011f",
             "\1\u0120",
-            "\1\u0121",
-            "\1\u0122",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0123",
+            "",
             "\1\u0124",
             "\1\u0125",
             "\1\u0126",
@@ -3490,69 +2118,84 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u0128",
             "\1\u0129",
             "\1\u012a",
+            "",
+            "",
             "\1\u012b",
+            "",
             "\1\u012c",
             "\1\u012d",
-            "\1\u012e",
-            "\1\u012f",
-            "\1\u0130",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "",
+            "\1\u012f",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0131",
-            "\1\u0133\20\uffff\1\u0132",
+            "\1\u0132",
+            "\1\u0133",
             "\1\u0134",
             "\1\u0135",
             "\1\u0136",
             "\1\u0137",
             "\1\u0138",
-            "\1\u013a\5\uffff\1\u0139",
-            "\12\56\7\uffff\2\56\1\u013b\27\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u0139",
+            "",
+            "\1\u013a",
+            "",
+            "\1\u013b",
+            "\1\u013c",
             "\1\u013d",
-            "\1\u013e",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u013f",
             "\1\u0140",
-            "\12\56\7\uffff\21\56\1\u0141\10\56\4\uffff\1\56\1\uffff\32"+
-            "\56",
-            "",
-            "",
+            "\1\u0141",
+            "\1\u0142",
             "\1\u0143",
             "\1\u0144",
             "\1\u0145",
-            "\1\u0147\21\uffff\1\u0146",
-            "\1\u0148",
+            "\1\u0146",
+            "\1\u0147",
             "",
+            "\1\u0148",
             "\1\u0149",
             "\1\u014a",
             "\1\u014b",
             "\1\u014c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u014e",
+            "\1\u014d",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u014f",
             "\1\u0150",
             "\1\u0151",
             "\1\u0152",
-            "\1\u0153",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0154",
             "\1\u0155",
             "\1\u0156",
+            "",
             "\1\u0157",
             "\1\u0158",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\4\56\1\u015a\3\56"+
-            "\1\u0159\21\56",
+            "\1\u0159",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "\1\u015b",
             "\1\u015c",
             "\1\u015d",
             "\1\u015e",
-            "\1\u015f",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0160",
+            "",
             "\1\u0161",
-            "\1\u0162",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0163",
             "\1\u0164",
+            "",
             "\1\u0165",
             "\1\u0166",
-            "\1\u0167",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0168",
             "\1\u0169",
             "\1\u016a",
+            "",
             "\1\u016b",
             "\1\u016c",
             "\1\u016d",
@@ -3561,531 +2204,14 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u0170",
             "\1\u0171",
             "\1\u0172",
-            "",
-            "\1\u0173\3\uffff\1\u0174",
+            "\1\u0173",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u017a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u018d",
-            "\1\u018e",
-            "\1\u018f",
-            "",
-            "\1\u0190",
-            "\1\u0191",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "\1\u0197",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0199",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u01b8",
-            "\1\u01b9",
-            "\1\u01ba",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\12\56\7\uffff\2\56\1\u01d0\27\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\2\56\1\u01d2\27\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01d4",
-            "\1\u01d5",
-            "\1\u01d6",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01d8",
-            "\1\u01da\6\uffff\1\u01d9",
-            "\1\u01db",
-            "\1\u01dc",
-            "\1\u01dd",
-            "\1\u01de",
-            "\1\u01df",
-            "\1\u01e0",
-            "\1\u01e1",
-            "\1\u01e2",
-            "\1\u01e3",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\u01e9",
-            "\1\u01ea",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\22\56\1\u01eb\7\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01ee",
-            "",
-            "",
-            "\1\u01ef",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "\1\u01f3",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01f5",
-            "\1\u01f6",
-            "\1\u01f7",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\12\56\7\uffff\5\56\1\u01fd\15\56\1\u01fc\6\56\4\uffff\1\56"+
-            "\1\uffff\32\56",
-            "\1\u01ff",
-            "\1\u0200",
-            "\1\u0201",
-            "\1\u0202",
-            "\1\u0203",
-            "\1\u0204",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "",
-            "\1\u0205",
-            "",
-            "\1\u0206",
-            "\1\u0207",
-            "\1\u0208",
-            "",
-            "\1\u0209",
-            "\1\u020a",
-            "\1\u020b",
-            "\1\u020c",
-            "\1\u020d",
-            "\1\u020e",
-            "\1\u0212\2\uffff\1\u0210\13\uffff\1\u0211\2\uffff\1\u020f",
-            "\1\u0213",
-            "\1\u0214",
-            "\1\u0215\15\uffff\1\u0216",
-            "\1\u0217",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u0219",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u021b",
-            "\1\u021c",
-            "\1\u021d",
-            "\1\u021e",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "",
-            "\1\u0220",
-            "\1\u0221",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "",
-            "\1\u0226",
-            "\1\u0227",
-            "\1\u0228",
-            "",
-            "\1\u0229",
-            "\1\u022a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u022c",
-            "\1\u022d",
-            "",
-            "\1\u022e",
-            "\1\u022f",
-            "\1\u0230",
-            "\1\u0231",
-            "\1\u0232",
-            "\1\u0233",
-            "\1\u0234",
-            "\1\u0235",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0237",
-            "\1\u0238",
-            "\1\u0239",
-            "\1\u023a",
-            "\1\u023b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u023e",
-            "\1\u023f",
-            "\1\u0241\5\uffff\1\u0240",
-            "\1\u0242",
-            "\1\u0243",
-            "\1\u0244",
-            "\1\u0245",
-            "\1\u0246",
-            "\1\u0247",
-            "",
-            "\1\u0248",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u024a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u024d",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u024f",
-            "\1\u0250",
-            "\1\u0251",
-            "\1\u0252",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0254",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0256",
-            "",
-            "\1\u0257",
-            "\1\u0258",
-            "\1\u0259",
-            "\1\u025a",
-            "\1\u025b",
-            "\1\u025c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u025e",
-            "\1\u025f",
-            "\1\u0260",
-            "",
-            "\1\u0261",
-            "\1\u0262",
-            "\1\u0263",
-            "\1\u0264",
-            "\1\u0265",
-            "",
-            "",
-            "\1\u0266",
-            "\1\u0267",
-            "\1\u0268",
-            "\1\u0269",
-            "\1\u026a",
-            "\1\u026b",
-            "\1\u026c",
-            "\1\u026d",
-            "\1\u026e",
-            "\1\u026f",
-            "\1\u0270",
-            "",
-            "\1\u0271",
-            "",
-            "",
-            "\1\u0272",
-            "",
-            "\1\u0273",
-            "\1\u0274",
-            "\1\u0275",
-            "\1\u0276",
-            "",
-            "\1\u0277",
-            "",
-            "\1\u0278",
-            "\1\u0279",
-            "\1\u027a",
-            "\1\u027b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u027d",
-            "\1\u027e",
-            "",
-            "\1\u027f",
-            "\1\u0280",
-            "\1\u0281",
-            "\1\u0282",
-            "\1\u0283",
-            "\1\u0284",
-            "\1\u0285",
-            "\1\u0286",
-            "\1\u0287",
-            "\1\u0288",
-            "\1\u0289",
-            "\1\u028a",
-            "\1\u028b",
-            "\1\u028c",
-            "\1\u028d",
-            "\1\u028e",
-            "\1\u028f",
-            "\1\u0290",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0292",
-            "\1\u0293",
-            "\1\u0294",
-            "\1\u0295",
-            "\1\u0296",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u029a",
-            "\1\u029b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\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",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02ab",
-            "\1\u02ac",
-            "\1\u02ad",
-            "\1\u02ae",
-            "\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",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02bd",
-            "\1\u02be",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c1",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c3",
-            "\1\u02c4",
-            "",
-            "\1\u02c5",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c7",
-            "\1\u02c8",
-            "\1\u02c9",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02cc",
-            "\1\u02cd",
-            "\1\u02ce",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02d0",
-            "\1\u02d1",
-            "\1\u02d2",
-            "\1\u02d3",
-            "\1\u02d4",
-            "\1\u02d5",
-            "",
-            "\1\u02d6",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "",
-            "\1\u02d8",
-            "",
-            "\1\u02d9",
-            "\1\u02da",
-            "\1\u02db",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02dd",
-            "\1\u02de",
-            "",
-            "",
-            "\1\u02df",
-            "\1\u02e0",
-            "\1\u02e1",
-            "",
-            "\1\u02e2",
-            "\1\u02e3",
-            "\1\u02e4",
-            "\1\u02e5",
-            "\1\u02e6",
-            "\1\u02e7",
-            "\1\u02e8",
-            "",
-            "\1\u02e9",
-            "\1\u02ea",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02ec",
-            "",
-            "\1\u02ed",
-            "\1\u02ee",
-            "\1\u02ef",
-            "\1\u02f0",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02f2",
-            "\1\u02f3",
-            "\1\u02f4",
-            "\1\u02f5",
-            "\1\u02f6",
-            "\1\u02f7",
-            "\1\u02f8",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02fa",
-            "",
-            "\1\u02fb",
-            "\1\u02fc",
-            "\1\u02fd",
-            "\1\u02fe",
-            "\1\u02ff",
-            "",
-            "\1\u0300",
-            "\1\u0301",
-            "\1\u0302",
-            "\1\u0303",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0306",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0308",
-            "\1\u0309",
-            "\1\u030b\16\uffff\1\u030a",
-            "\1\u030c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u030f",
-            "\1\u0310",
-            "\1\u0311",
-            "",
-            "",
-            "\1\u0312",
-            "",
-            "\1\u0313",
-            "\1\u0314",
-            "\1\u0315",
-            "\1\u0316",
-            "\1\u0317",
-            "",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0319",
-            "\1\u031a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u032a",
-            "\1\u032b",
-            "\1\u032c",
-            "\1\u032d",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u032f",
-            "\1\u0330",
-            "\1\u0331",
-            "\1\u0332",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0334",
-            "",
-            "\1\u0335",
-            "\1\u0336",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u0339",
-            "\1\u033a",
-            "\1\u033b",
-            "",
-            "",
-            "\1\u033c",
-            "\1\u033d",
-            "\1\u033e",
-            "\1\u033f",
-            "\1\u0340",
-            "\1\u0341",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0343",
-            "\1\u0344",
-            "",
-            "\1\u0345",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0347",
+            "\1\u0177",
             "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             ""
     };
 
@@ -4119,7 +2245,7 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            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 | 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;
@@ -4129,111 +2255,95 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
                         int LA12_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA12_0=='A') ) {s = 1;}
-
-                        else if ( (LA12_0=='E') ) {s = 2;}
-
-                        else if ( (LA12_0=='e') ) {s = 3;}
-
-                        else if ( (LA12_0=='{') ) {s = 4;}
-
-                        else if ( (LA12_0=='n') ) {s = 5;}
-
-                        else if ( (LA12_0=='t') ) {s = 6;}
-
-                        else if ( (LA12_0=='}') ) {s = 7;}
-
-                        else if ( (LA12_0=='a') ) {s = 8;}
-
-                        else if ( (LA12_0=='s') ) {s = 9;}
+                        if ( (LA12_0=='S') ) {s = 1;}
 
-                        else if ( (LA12_0=='g') ) {s = 10;}
+                        else if ( (LA12_0=='L') ) {s = 2;}
 
-                        else if ( (LA12_0==',') ) {s = 11;}
+                        else if ( (LA12_0=='B') ) {s = 3;}
 
-                        else if ( (LA12_0=='p') ) {s = 12;}
+                        else if ( (LA12_0=='A') ) {s = 4;}
 
-                        else if ( (LA12_0=='T') ) {s = 13;}
+                        else if ( (LA12_0=='P') ) {s = 5;}
 
-                        else if ( (LA12_0=='i') ) {s = 14;}
+                        else if ( (LA12_0=='E') ) {s = 6;}
 
-                        else if ( (LA12_0=='(') ) {s = 15;}
+                        else if ( (LA12_0=='e') ) {s = 7;}
 
-                        else if ( (LA12_0==')') ) {s = 16;}
+                        else if ( (LA12_0=='{') ) {s = 8;}
 
-                        else if ( (LA12_0=='o') ) {s = 17;}
+                        else if ( (LA12_0=='g') ) {s = 9;}
 
-                        else if ( (LA12_0=='r') ) {s = 18;}
+                        else if ( (LA12_0=='a') ) {s = 10;}
 
-                        else if ( (LA12_0=='S') ) {s = 19;}
+                        else if ( (LA12_0==':') ) {s = 11;}
 
-                        else if ( (LA12_0=='w') ) {s = 20;}
+                        else if ( (LA12_0=='t') ) {s = 12;}
 
-                        else if ( (LA12_0=='P') ) {s = 21;}
+                        else if ( (LA12_0=='s') ) {s = 13;}
 
-                        else if ( (LA12_0=='O') ) {s = 22;}
+                        else if ( (LA12_0=='}') ) {s = 14;}
 
-                        else if ( (LA12_0=='d') ) {s = 23;}
+                        else if ( (LA12_0==',') ) {s = 15;}
 
-                        else if ( (LA12_0=='L') ) {s = 24;}
+                        else if ( (LA12_0=='p') ) {s = 16;}
 
-                        else if ( (LA12_0=='c') ) {s = 25;}
+                        else if ( (LA12_0=='T') ) {s = 17;}
 
-                        else if ( (LA12_0=='b') ) {s = 26;}
+                        else if ( (LA12_0=='i') ) {s = 18;}
 
-                        else if ( (LA12_0=='B') ) {s = 27;}
+                        else if ( (LA12_0=='o') ) {s = 19;}
 
-                        else if ( (LA12_0=='-') ) {s = 28;}
+                        else if ( (LA12_0=='r') ) {s = 20;}
 
-                        else if ( (LA12_0=='M') ) {s = 29;}
+                        else if ( (LA12_0=='=') ) {s = 21;}
 
-                        else if ( (LA12_0=='m') ) {s = 30;}
+                        else if ( (LA12_0=='w') ) {s = 22;}
 
-                        else if ( (LA12_0=='v') ) {s = 31;}
+                        else if ( (LA12_0=='D') ) {s = 23;}
 
-                        else if ( (LA12_0=='.') ) {s = 32;}
+                        else if ( (LA12_0=='-') ) {s = 24;}
 
-                        else if ( (LA12_0=='W') ) {s = 33;}
+                        else if ( (LA12_0=='.') ) {s = 25;}
 
-                        else if ( (LA12_0=='u') ) {s = 34;}
+                        else if ( (LA12_0=='O') ) {s = 26;}
 
-                        else if ( (LA12_0=='l') ) {s = 35;}
+                        else if ( (LA12_0=='l') ) {s = 27;}
 
-                        else if ( (LA12_0=='^') ) {s = 36;}
+                        else if ( (LA12_0=='^') ) {s = 28;}
 
-                        else if ( ((LA12_0>='C' && LA12_0<='D')||(LA12_0>='F' && LA12_0<='K')||LA12_0=='N'||(LA12_0>='Q' && LA12_0<='R')||(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 = 37;}
+                        else if ( (LA12_0=='C'||(LA12_0>='F' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='N')||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='b' && LA12_0<='d')||LA12_0=='f'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='k')||(LA12_0>='m' && LA12_0<='n')||LA12_0=='q'||(LA12_0>='u' && LA12_0<='v')||(LA12_0>='x' && LA12_0<='z')) ) {s = 29;}
 
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 38;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
 
-                        else if ( (LA12_0=='\"') ) {s = 39;}
+                        else if ( (LA12_0=='\"') ) {s = 31;}
 
-                        else if ( (LA12_0=='\'') ) {s = 40;}
+                        else if ( (LA12_0=='\'') ) {s = 32;}
 
-                        else if ( (LA12_0=='/') ) {s = 41;}
+                        else if ( (LA12_0=='/') ) {s = 33;}
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 42;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
 
-                        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 = 43;}
+                        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=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA12_39 = input.LA(1);
+                        int LA12_32 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_39>='\u0000' && LA12_39<='\uFFFF')) ) {s = 101;}
+                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 71;}
 
-                        else s = 43;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA12_40 = input.LA(1);
+                        int LA12_31 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_40>='\u0000' && LA12_40<='\uFFFF')) ) {s = 101;}
+                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 71;}
 
-                        else s = 43;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageParser.java
index 40dd5e464b3511b5b1f13cf7b73f065dddd05383..8a383f7982999507c4ca3d482212584631917bb6 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageParser.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguageParser.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 @SuppressWarnings("all")
 public class InternalStaAdaptationLanguageParser 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'", "'EDate'", "'E'", "'e'", "'AdaptationProcess'", "'{'", "'name'", "'tactics'", "'}'", "'actions'", "'strategies'", "'goal'", "','", "'parameters'", "'Tactic'", "'implementedPlan'", "'inputParams'", "'('", "')'", "'outputParam'", "'Action'", "'referredAdaptationPoint'", "'adaptationActionOperation'", "'Strategy'", "'objective'", "'triggeringEvents'", "'weightingFunction'", "'Parameter'", "'type'", "'OverallGoal'", "'description'", "'objectives'", "'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'", "'specification'", "'Event'", "'WeightedTactic'", "'currentWeight'", "'defaultWeight'", "'usedTactic'", "'lastImpact'", "'WeightingFunction'", "'weightedMetrics'", "'MetricValue'", "'value'", "'measuredEntity'", "'metricType'", "'WeightedMetric'", "'weight'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'StopAction'", "'LoopAction'", "'BranchAction'", "'ActionReference'", "'AdaptionActionOperation'", "'PropertyRange'", "'SetOfConfigurations'", "'E'", "'e'", "'AdaptationProcess'", "'{'", "'goal'", "'actions'", "':'", "'tactics'", "'strategies'", "'}'", "','", "'parameters'", "'Tactic'", "'implementedPlan'", "'input'", "'output'", "'Action'", "'referredAdaptationPoint'", "'adaptationActionOperation'", "'Strategy'", "'objective'", "'='", "'triggeringEvents'", "'weightingFunction'", "'Description'", "'objectives'", "'StartAction'", "'-'", "'.'", "'Objective'", "'lastImpact'", "'ref'"
     };
     public static final int RULE_ID=5;
     public static final int T__29=29;
@@ -37,63 +37,16 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
     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__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;
@@ -105,9 +58,11 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
     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 RULE_ML_COMMENT=7;
     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 RULE_STRING=4;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
@@ -308,98 +263,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
     // $ANTLR end "ruleAbstractControlFlowElement"
 
 
-    // $ANTLR start "entryRuleVariationType"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:119:1: ( ruleVariationType EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:131:2: ( ( ( rule__VariationType__Alternatives ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:132:1: ( ( rule__VariationType__Alternatives ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:132:1: ( ( rule__VariationType__Alternatives ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:133:1: ( rule__VariationType__Alternatives )
-            {
-             before(grammarAccess.getVariationTypeAccess().getAlternatives()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:134:1: ( rule__VariationType__Alternatives )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:146:1: entryRuleEString : ruleEString EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:120: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:147:1: ( ruleEString EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:148:1: ruleEString EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:121:1: ( ruleEString EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:122:1: ruleEString EOF
             {
              before(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString243);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString185);
             ruleEString();
 
             state._fsp--;
 
              after(grammarAccess.getEStringRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString250); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString192); 
 
             }
 
@@ -416,23 +294,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleEString"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:155:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:129: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:159:2: ( ( ( rule__EString__Alternatives ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:160:1: ( ( rule__EString__Alternatives ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:133:2: ( ( ( rule__EString__Alternatives ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:134:1: ( ( rule__EString__Alternatives ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:160:1: ( ( rule__EString__Alternatives ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:161:1: ( rule__EString__Alternatives )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:134:1: ( ( rule__EString__Alternatives ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:135:1: ( rule__EString__Alternatives )
             {
              before(grammarAccess.getEStringAccess().getAlternatives()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:162:1: ( rule__EString__Alternatives )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:162:2: rule__EString__Alternatives
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:136:1: ( rule__EString__Alternatives )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:136:2: rule__EString__Alternatives
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString276);
+            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString218);
             rule__EString__Alternatives();
 
             state._fsp--;
@@ -463,20 +341,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:174:1: entryRuleTactic : ruleTactic EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:148: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:175:1: ( ruleTactic EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:176:1: ruleTactic EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:149:1: ( ruleTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:150:1: ruleTactic EOF
             {
              before(grammarAccess.getTacticRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic303);
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic245);
             ruleTactic();
 
             state._fsp--;
 
              after(grammarAccess.getTacticRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic310); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic252); 
 
             }
 
@@ -493,23 +371,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:183:1: ruleTactic : ( ( rule__Tactic__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:157: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:187:2: ( ( ( rule__Tactic__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:188:1: ( ( rule__Tactic__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:161:2: ( ( ( rule__Tactic__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:162:1: ( ( rule__Tactic__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:188:1: ( ( rule__Tactic__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:189:1: ( rule__Tactic__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:162:1: ( ( rule__Tactic__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:163:1: ( rule__Tactic__Group__0 )
             {
              before(grammarAccess.getTacticAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:190:1: ( rule__Tactic__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:190:2: rule__Tactic__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:164:1: ( rule__Tactic__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:164:2: rule__Tactic__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0_in_ruleTactic336);
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0_in_ruleTactic278);
             rule__Tactic__Group__0();
 
             state._fsp--;
@@ -540,20 +418,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:202:1: entryRuleAction : ruleAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:176: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:203:1: ( ruleAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:204:1: ruleAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:177:1: ( ruleAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:178:1: ruleAction EOF
             {
              before(grammarAccess.getActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction363);
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction305);
             ruleAction();
 
             state._fsp--;
 
              after(grammarAccess.getActionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction370); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction312); 
 
             }
 
@@ -570,23 +448,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:211:1: ruleAction : ( ( rule__Action__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:185: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:215:2: ( ( ( rule__Action__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:216:1: ( ( rule__Action__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:189:2: ( ( ( rule__Action__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:190:1: ( ( rule__Action__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:216:1: ( ( rule__Action__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:217:1: ( rule__Action__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:190:1: ( ( rule__Action__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:191:1: ( rule__Action__Group__0 )
             {
              before(grammarAccess.getActionAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:218:1: ( rule__Action__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:218:2: rule__Action__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:192:1: ( rule__Action__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:192:2: rule__Action__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0_in_ruleAction396);
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0_in_ruleAction338);
             rule__Action__Group__0();
 
             state._fsp--;
@@ -617,20 +495,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleStrategy"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:230:1: entryRuleStrategy : ruleStrategy EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:204: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:231:1: ( ruleStrategy EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:232:1: ruleStrategy EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:205:1: ( ruleStrategy EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:206:1: ruleStrategy EOF
             {
              before(grammarAccess.getStrategyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy423);
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy365);
             ruleStrategy();
 
             state._fsp--;
 
              after(grammarAccess.getStrategyRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy430); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy372); 
 
             }
 
@@ -647,23 +525,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleStrategy"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:239:1: ruleStrategy : ( ( rule__Strategy__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:213: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:243:2: ( ( ( rule__Strategy__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:244:1: ( ( rule__Strategy__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:217:2: ( ( ( rule__Strategy__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:218:1: ( ( rule__Strategy__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:244:1: ( ( rule__Strategy__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:245:1: ( rule__Strategy__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:218:1: ( ( rule__Strategy__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:219:1: ( rule__Strategy__Group__0 )
             {
              before(grammarAccess.getStrategyAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:246:1: ( rule__Strategy__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:246:2: rule__Strategy__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:220:1: ( rule__Strategy__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:220:2: rule__Strategy__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0_in_ruleStrategy456);
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0_in_ruleStrategy398);
             rule__Strategy__Group__0();
 
             state._fsp--;
@@ -694,20 +572,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleParameter"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:258:1: entryRuleParameter : ruleParameter EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:232: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:259:1: ( ruleParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:260:1: ruleParameter EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:233:1: ( ruleParameter EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:234:1: ruleParameter EOF
             {
              before(grammarAccess.getParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter483);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter425);
             ruleParameter();
 
             state._fsp--;
 
              after(grammarAccess.getParameterRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter490); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter432); 
 
             }
 
@@ -724,23 +602,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleParameter"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:267:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:241: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:271:2: ( ( ( rule__Parameter__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:272:1: ( ( rule__Parameter__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:245:2: ( ( ( rule__Parameter__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:246:1: ( ( rule__Parameter__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:272:1: ( ( rule__Parameter__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:273:1: ( rule__Parameter__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:246:1: ( ( rule__Parameter__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:247:1: ( rule__Parameter__Group__0 )
             {
              before(grammarAccess.getParameterAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:274:1: ( rule__Parameter__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:274:2: rule__Parameter__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:248:1: ( rule__Parameter__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:248:2: rule__Parameter__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0_in_ruleParameter516);
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0_in_ruleParameter458);
             rule__Parameter__Group__0();
 
             state._fsp--;
@@ -771,20 +649,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleOverallGoal"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:286:1: entryRuleOverallGoal : ruleOverallGoal EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:260: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:287:1: ( ruleOverallGoal EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:288:1: ruleOverallGoal EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:261:1: ( ruleOverallGoal EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:262:1: ruleOverallGoal EOF
             {
              before(grammarAccess.getOverallGoalRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal543);
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal485);
             ruleOverallGoal();
 
             state._fsp--;
 
              after(grammarAccess.getOverallGoalRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal550); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal492); 
 
             }
 
@@ -801,23 +679,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleOverallGoal"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:295:1: ruleOverallGoal : ( ( rule__OverallGoal__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:269: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:299:2: ( ( ( rule__OverallGoal__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:300:1: ( ( rule__OverallGoal__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:273:2: ( ( ( rule__OverallGoal__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:274:1: ( ( rule__OverallGoal__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:300:1: ( ( rule__OverallGoal__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:301:1: ( rule__OverallGoal__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:274:1: ( ( rule__OverallGoal__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:275:1: ( rule__OverallGoal__Group__0 )
             {
              before(grammarAccess.getOverallGoalAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:302:1: ( rule__OverallGoal__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:302:2: rule__OverallGoal__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:276:1: ( rule__OverallGoal__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:276:2: rule__OverallGoal__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0_in_ruleOverallGoal576);
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0_in_ruleOverallGoal518);
             rule__OverallGoal__Group__0();
 
             state._fsp--;
@@ -848,20 +726,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleAdaptationPlan"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:314:1: entryRuleAdaptationPlan : ruleAdaptationPlan EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:288: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:315:1: ( ruleAdaptationPlan EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:316:1: ruleAdaptationPlan EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:289:1: ( ruleAdaptationPlan EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:290:1: ruleAdaptationPlan EOF
             {
              before(grammarAccess.getAdaptationPlanRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan603);
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan545);
             ruleAdaptationPlan();
 
             state._fsp--;
 
              after(grammarAccess.getAdaptationPlanRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan610); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan552); 
 
             }
 
@@ -878,23 +756,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleAdaptationPlan"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:323:1: ruleAdaptationPlan : ( ( rule__AdaptationPlan__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:297: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:327:2: ( ( ( rule__AdaptationPlan__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:328:1: ( ( rule__AdaptationPlan__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:301:2: ( ( ( rule__AdaptationPlan__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:302:1: ( ( rule__AdaptationPlan__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:328:1: ( ( rule__AdaptationPlan__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:329:1: ( rule__AdaptationPlan__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:302:1: ( ( rule__AdaptationPlan__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:303:1: ( rule__AdaptationPlan__Group__0 )
             {
              before(grammarAccess.getAdaptationPlanAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:330:1: ( rule__AdaptationPlan__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:330:2: rule__AdaptationPlan__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:304:1: ( rule__AdaptationPlan__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:304:2: rule__AdaptationPlan__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan636);
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan578);
             rule__AdaptationPlan__Group__0();
 
             state._fsp--;
@@ -925,20 +803,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleStartAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:342:1: entryRuleStartAction : ruleStartAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:316: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:343:1: ( ruleStartAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:344:1: ruleStartAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:317:1: ( ruleStartAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:318:1: ruleStartAction EOF
             {
              before(grammarAccess.getStartActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction663);
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction605);
             ruleStartAction();
 
             state._fsp--;
 
              after(grammarAccess.getStartActionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction670); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction612); 
 
             }
 
@@ -955,23 +833,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleStartAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:351:1: ruleStartAction : ( ( rule__StartAction__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:325: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:355:2: ( ( ( rule__StartAction__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:356:1: ( ( rule__StartAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:329:2: ( ( ( rule__StartAction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:330:1: ( ( rule__StartAction__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:356:1: ( ( rule__StartAction__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:357:1: ( rule__StartAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:330:1: ( ( rule__StartAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:331:1: ( rule__StartAction__Group__0 )
             {
              before(grammarAccess.getStartActionAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:358:1: ( rule__StartAction__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:358:2: rule__StartAction__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:332:1: ( rule__StartAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:332:2: rule__StartAction__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0_in_ruleStartAction696);
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0_in_ruleStartAction638);
             rule__StartAction__Group__0();
 
             state._fsp--;
@@ -1002,20 +880,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleStopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:370:1: entryRuleStopAction : ruleStopAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:344: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:371:1: ( ruleStopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:372:1: ruleStopAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:345:1: ( ruleStopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:346:1: ruleStopAction EOF
             {
              before(grammarAccess.getStopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction723);
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction665);
             ruleStopAction();
 
             state._fsp--;
 
              after(grammarAccess.getStopActionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction730); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction672); 
 
             }
 
@@ -1032,31 +910,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleStopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:379:1: ruleStopAction : ( ( rule__StopAction__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:353:1: ruleStopAction : ( 'StopAction' ) ;
     public final void ruleStopAction() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:383:2: ( ( ( rule__StopAction__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:384:1: ( ( rule__StopAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:357:2: ( ( 'StopAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:358:1: ( 'StopAction' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:384:1: ( ( rule__StopAction__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:385:1: ( rule__StopAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:358:1: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:359:1: 'StopAction'
             {
-             before(grammarAccess.getStopActionAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:386:1: ( rule__StopAction__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:386:2: rule__StopAction__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__0_in_ruleStopAction756);
-            rule__StopAction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getStopActionAccess().getGroup()); 
+             before(grammarAccess.getStopActionAccess().getStopActionKeyword()); 
+            match(input,11,FollowSets000.FOLLOW_11_in_ruleStopAction699); 
+             after(grammarAccess.getStopActionAccess().getStopActionKeyword()); 
 
             }
 
@@ -1079,20 +947,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleLoopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:398:1: entryRuleLoopAction : ruleLoopAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:374: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:399:1: ( ruleLoopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:400:1: ruleLoopAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:375:1: ( ruleLoopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:376:1: ruleLoopAction EOF
             {
              before(grammarAccess.getLoopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction783);
+            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction727);
             ruleLoopAction();
 
             state._fsp--;
 
              after(grammarAccess.getLoopActionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction790); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction734); 
 
             }
 
@@ -1109,31 +977,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleLoopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:407:1: ruleLoopAction : ( ( rule__LoopAction__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:383:1: ruleLoopAction : ( 'LoopAction' ) ;
     public final void ruleLoopAction() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:411:2: ( ( ( rule__LoopAction__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:412:1: ( ( rule__LoopAction__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:412:1: ( ( rule__LoopAction__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:413:1: ( rule__LoopAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:387:2: ( ( 'LoopAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:388:1: ( 'LoopAction' )
             {
-             before(grammarAccess.getLoopActionAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:414:1: ( rule__LoopAction__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:414:2: rule__LoopAction__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:388:1: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:389:1: 'LoopAction'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__0_in_ruleLoopAction816);
-            rule__LoopAction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getGroup()); 
+             before(grammarAccess.getLoopActionAccess().getLoopActionKeyword()); 
+            match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopAction761); 
+             after(grammarAccess.getLoopActionAccess().getLoopActionKeyword()); 
 
             }
 
@@ -1156,20 +1014,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleBranchAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:426:1: entryRuleBranchAction : ruleBranchAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:404: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:427:1: ( ruleBranchAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:428:1: ruleBranchAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:405:1: ( ruleBranchAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:406:1: ruleBranchAction EOF
             {
              before(grammarAccess.getBranchActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction843);
+            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction789);
             ruleBranchAction();
 
             state._fsp--;
 
              after(grammarAccess.getBranchActionRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction850); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction796); 
 
             }
 
@@ -1186,31 +1044,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleBranchAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:435:1: ruleBranchAction : ( ( rule__BranchAction__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:413:1: ruleBranchAction : ( 'BranchAction' ) ;
     public final void ruleBranchAction() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:439:2: ( ( ( rule__BranchAction__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:440:1: ( ( rule__BranchAction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:417:2: ( ( 'BranchAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:418:1: ( 'BranchAction' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:440:1: ( ( rule__BranchAction__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:441:1: ( rule__BranchAction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:418:1: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:419:1: 'BranchAction'
             {
-             before(grammarAccess.getBranchActionAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:442:1: ( rule__BranchAction__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:442:2: rule__BranchAction__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__0_in_ruleBranchAction876);
-            rule__BranchAction__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getBranchActionAccess().getGroup()); 
+             before(grammarAccess.getBranchActionAccess().getBranchActionKeyword()); 
+            match(input,13,FollowSets000.FOLLOW_13_in_ruleBranchAction823); 
+             after(grammarAccess.getBranchActionAccess().getBranchActionKeyword()); 
 
             }
 
@@ -1233,20 +1081,20 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "entryRuleActionReference"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:454:1: entryRuleActionReference : ruleActionReference EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:434: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:455:1: ( ruleActionReference EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:456:1: ruleActionReference EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:435:1: ( ruleActionReference EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:436:1: ruleActionReference EOF
             {
              before(grammarAccess.getActionReferenceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference903);
+            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference851);
             ruleActionReference();
 
             state._fsp--;
 
              after(grammarAccess.getActionReferenceRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference910); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference858); 
 
             }
 
@@ -1263,31 +1111,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
 
 
     // $ANTLR start "ruleActionReference"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:463:1: ruleActionReference : ( ( rule__ActionReference__Group__0 ) ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:443:1: ruleActionReference : ( 'ActionReference' ) ;
     public final void ruleActionReference() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:467:2: ( ( ( rule__ActionReference__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:468:1: ( ( rule__ActionReference__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:468:1: ( ( rule__ActionReference__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:469:1: ( rule__ActionReference__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:447:2: ( ( 'ActionReference' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:448:1: ( 'ActionReference' )
             {
-             before(grammarAccess.getActionReferenceAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:470:1: ( rule__ActionReference__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:470:2: rule__ActionReference__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:448:1: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:449:1: 'ActionReference'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__0_in_ruleActionReference936);
-            rule__ActionReference__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getActionReferenceAccess().getGroup()); 
+             before(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword()); 
+            match(input,14,FollowSets000.FOLLOW_14_in_ruleActionReference885); 
+             after(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword()); 
 
             }
 
@@ -1309,21 +1147,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
     // $ANTLR end "ruleActionReference"
 
 
-    // $ANTLR start "entryRuleEInt"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:482:1: entryRuleEInt : ruleEInt EOF ;
-    public final void entryRuleEInt() throws RecognitionException {
+    // $ANTLR start "entryRuleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:466: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:483:1: ( ruleEInt EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:484:1: ruleEInt EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:467:1: ( ruleAdaptationActionOperation EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:468:1: ruleAdaptationActionOperation EOF
             {
-             before(grammarAccess.getEIntRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_entryRuleEInt963);
-            ruleEInt();
+             before(grammarAccess.getAdaptationActionOperationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation915);
+            ruleAdaptationActionOperation();
 
             state._fsp--;
 
-             after(grammarAccess.getEIntRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEInt970); 
+             after(grammarAccess.getAdaptationActionOperationRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation922); 
 
             }
 
@@ -1336,35 +1174,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleEInt"
+    // $ANTLR end "entryRuleAdaptationActionOperation"
 
 
-    // $ANTLR start "ruleEInt"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:491:1: ruleEInt : ( ( rule__EInt__Group__0 ) ) ;
-    public final void ruleEInt() throws RecognitionException {
+    // $ANTLR start "ruleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:475:1: ruleAdaptationActionOperation : ( 'AdaptionActionOperation' ) ;
+    public final void ruleAdaptationActionOperation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:495:2: ( ( ( rule__EInt__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:496:1: ( ( rule__EInt__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:479:2: ( ( 'AdaptionActionOperation' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:480:1: ( 'AdaptionActionOperation' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:496:1: ( ( rule__EInt__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:497:1: ( rule__EInt__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:480:1: ( 'AdaptionActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:481:1: 'AdaptionActionOperation'
             {
-             before(grammarAccess.getEIntAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:498:1: ( rule__EInt__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:498:2: rule__EInt__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__0_in_ruleEInt996);
-            rule__EInt__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEIntAccess().getGroup()); 
+             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword()); 
+            match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationActionOperation949); 
+             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword()); 
 
             }
 
@@ -1383,24 +1211,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleEInt"
+    // $ANTLR end "ruleAdaptationActionOperation"
 
 
-    // $ANTLR start "entryRuleAdaptationActionOperation"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:510:1: entryRuleAdaptationActionOperation : ruleAdaptationActionOperation EOF ;
-    public final void entryRuleAdaptationActionOperation() throws RecognitionException {
+    // $ANTLR start "entryRuleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:500: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:511:1: ( ruleAdaptationActionOperation EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:512:1: ruleAdaptationActionOperation EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:501:1: ( ruleEDouble EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:502:1: ruleEDouble EOF
             {
-             before(grammarAccess.getAdaptationActionOperationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation1023);
-            ruleAdaptationActionOperation();
+             before(grammarAccess.getEDoubleRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble981);
+            ruleEDouble();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationActionOperationRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation1030); 
+             after(grammarAccess.getEDoubleRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble988); 
 
             }
 
@@ -1413,35 +1241,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleAdaptationActionOperation"
+    // $ANTLR end "entryRuleEDouble"
 
 
-    // $ANTLR start "ruleAdaptationActionOperation"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:519:1: ruleAdaptationActionOperation : ( ( rule__AdaptationActionOperation__Group__0 ) ) ;
-    public final void ruleAdaptationActionOperation() throws RecognitionException {
+    // $ANTLR start "ruleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:509: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:523:2: ( ( ( rule__AdaptationActionOperation__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:524:1: ( ( rule__AdaptationActionOperation__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:513:2: ( ( ( rule__EDouble__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:514:1: ( ( rule__EDouble__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:524:1: ( ( rule__AdaptationActionOperation__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:525:1: ( rule__AdaptationActionOperation__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:514:1: ( ( rule__EDouble__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:515:1: ( rule__EDouble__Group__0 )
             {
-             before(grammarAccess.getAdaptationActionOperationAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:526:1: ( rule__AdaptationActionOperation__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:526:2: rule__AdaptationActionOperation__Group__0
+             before(grammarAccess.getEDoubleAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:516:1: ( rule__EDouble__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:516:2: rule__EDouble__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__0_in_ruleAdaptationActionOperation1056);
-            rule__AdaptationActionOperation__Group__0();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0_in_ruleEDouble1014);
+            rule__EDouble__Group__0();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getAdaptationActionOperationAccess().getGroup()); 
+             after(grammarAccess.getEDoubleAccess().getGroup()); 
 
             }
 
@@ -1460,24 +1288,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleAdaptationActionOperation"
+    // $ANTLR end "ruleEDouble"
 
 
-    // $ANTLR start "entryRuleModelVariableConfigurationRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:538:1: entryRuleModelVariableConfigurationRange : ruleModelVariableConfigurationRange EOF ;
-    public final void entryRuleModelVariableConfigurationRange() throws RecognitionException {
+    // $ANTLR start "entryRulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:528: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:539:1: ( ruleModelVariableConfigurationRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:540:1: ruleModelVariableConfigurationRange EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:529:1: ( rulePropertyRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:530:1: rulePropertyRange EOF
             {
-             before(grammarAccess.getModelVariableConfigurationRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange1083);
-            ruleModelVariableConfigurationRange();
+             before(grammarAccess.getPropertyRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange1041);
+            rulePropertyRange();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange1090); 
+             after(grammarAccess.getPropertyRangeRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange1048); 
 
             }
 
@@ -1490,35 +1318,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleModelVariableConfigurationRange"
+    // $ANTLR end "entryRulePropertyRange"
 
 
-    // $ANTLR start "ruleModelVariableConfigurationRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:547:1: ruleModelVariableConfigurationRange : ( ( rule__ModelVariableConfigurationRange__Group__0 ) ) ;
-    public final void ruleModelVariableConfigurationRange() throws RecognitionException {
+    // $ANTLR start "rulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:537:1: rulePropertyRange : ( 'PropertyRange' ) ;
+    public final void rulePropertyRange() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:551:2: ( ( ( rule__ModelVariableConfigurationRange__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:552:1: ( ( rule__ModelVariableConfigurationRange__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:552:1: ( ( rule__ModelVariableConfigurationRange__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:553:1: ( rule__ModelVariableConfigurationRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:541:2: ( ( 'PropertyRange' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:542:1: ( 'PropertyRange' )
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:554:1: ( rule__ModelVariableConfigurationRange__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:554:2: rule__ModelVariableConfigurationRange__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:542:1: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:543:1: 'PropertyRange'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__0_in_ruleModelVariableConfigurationRange1116);
-            rule__ModelVariableConfigurationRange__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getGroup()); 
+             before(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword()); 
+            match(input,16,FollowSets000.FOLLOW_16_in_rulePropertyRange1075); 
+             after(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword()); 
 
             }
 
@@ -1537,24 +1355,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleModelVariableConfigurationRange"
+    // $ANTLR end "rulePropertyRange"
 
 
-    // $ANTLR start "entryRuleModelEntityConfigurationRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:566:1: entryRuleModelEntityConfigurationRange : ruleModelEntityConfigurationRange EOF ;
-    public final void entryRuleModelEntityConfigurationRange() throws RecognitionException {
+    // $ANTLR start "entryRuleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:558: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:567:1: ( ruleModelEntityConfigurationRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:568:1: ruleModelEntityConfigurationRange EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:559:1: ( ruleSetOfConfigurations EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:560:1: ruleSetOfConfigurations EOF
             {
-             before(grammarAccess.getModelEntityConfigurationRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange1143);
-            ruleModelEntityConfigurationRange();
+             before(grammarAccess.getSetOfConfigurationsRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations1103);
+            ruleSetOfConfigurations();
 
             state._fsp--;
 
-             after(grammarAccess.getModelEntityConfigurationRangeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange1150); 
+             after(grammarAccess.getSetOfConfigurationsRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations1110); 
 
             }
 
@@ -1567,35 +1385,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleModelEntityConfigurationRange"
+    // $ANTLR end "entryRuleSetOfConfigurations"
 
 
-    // $ANTLR start "ruleModelEntityConfigurationRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:575:1: ruleModelEntityConfigurationRange : ( ( rule__ModelEntityConfigurationRange__Group__0 ) ) ;
-    public final void ruleModelEntityConfigurationRange() throws RecognitionException {
+    // $ANTLR start "ruleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:567:1: ruleSetOfConfigurations : ( 'SetOfConfigurations' ) ;
+    public final void ruleSetOfConfigurations() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:579:2: ( ( ( rule__ModelEntityConfigurationRange__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:580:1: ( ( rule__ModelEntityConfigurationRange__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:580:1: ( ( rule__ModelEntityConfigurationRange__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:581:1: ( rule__ModelEntityConfigurationRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:571:2: ( ( 'SetOfConfigurations' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:572:1: ( 'SetOfConfigurations' )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:582:1: ( rule__ModelEntityConfigurationRange__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:582:2: rule__ModelEntityConfigurationRange__Group__0
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:572:1: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:573:1: 'SetOfConfigurations'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__0_in_ruleModelEntityConfigurationRange1176);
-            rule__ModelEntityConfigurationRange__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getGroup()); 
+             before(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword()); 
+            match(input,17,FollowSets000.FOLLOW_17_in_ruleSetOfConfigurations1137); 
+             after(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword()); 
 
             }
 
@@ -1614,24 +1422,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleModelEntityConfigurationRange"
+    // $ANTLR end "ruleSetOfConfigurations"
 
 
-    // $ANTLR start "entryRuleEDouble"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:594:1: entryRuleEDouble : ruleEDouble EOF ;
-    public final void entryRuleEDouble() throws RecognitionException {
+    // $ANTLR start "entryRuleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:594: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:595:1: ( ruleEDouble EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:596:1: ruleEDouble EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:595:1: ( ruleObjective EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:596:1: ruleObjective EOF
             {
-             before(grammarAccess.getEDoubleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble1203);
-            ruleEDouble();
+             before(grammarAccess.getObjectiveRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_entryRuleObjective1171);
+            ruleObjective();
 
             state._fsp--;
 
-             after(grammarAccess.getEDoubleRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble1210); 
+             after(grammarAccess.getObjectiveRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjective1178); 
 
             }
 
@@ -1644,35 +1452,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleEDouble"
+    // $ANTLR end "entryRuleObjective"
 
 
-    // $ANTLR start "ruleEDouble"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:603:1: ruleEDouble : ( ( rule__EDouble__Group__0 ) ) ;
-    public final void ruleEDouble() throws RecognitionException {
+    // $ANTLR start "ruleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:603: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:607:2: ( ( ( rule__EDouble__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:608:1: ( ( rule__EDouble__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:607:2: ( ( ( rule__Objective__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:608:1: ( ( rule__Objective__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:608:1: ( ( rule__EDouble__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:609:1: ( rule__EDouble__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:608:1: ( ( rule__Objective__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:609:1: ( rule__Objective__Group__0 )
             {
-             before(grammarAccess.getEDoubleAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:610:1: ( rule__EDouble__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:610:2: rule__EDouble__Group__0
+             before(grammarAccess.getObjectiveAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:610:1: ( rule__Objective__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:610:2: rule__Objective__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0_in_ruleEDouble1236);
-            rule__EDouble__Group__0();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__0_in_ruleObjective1204);
+            rule__Objective__Group__0();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getEDoubleAccess().getGroup()); 
+             after(grammarAccess.getObjectiveAccess().getGroup()); 
 
             }
 
@@ -1691,24 +1499,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleEDouble"
+    // $ANTLR end "ruleObjective"
 
 
-    // $ANTLR start "entryRulePropertyRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:622:1: entryRulePropertyRange : rulePropertyRange EOF ;
-    public final void entryRulePropertyRange() throws RecognitionException {
+    // $ANTLR start "entryRuleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:622: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:623:1: ( rulePropertyRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:624:1: rulePropertyRange EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:623:1: ( ruleEvent EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:624:1: ruleEvent EOF
             {
-             before(grammarAccess.getPropertyRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange1263);
-            rulePropertyRange();
+             before(grammarAccess.getEventRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_entryRuleEvent1231);
+            ruleEvent();
 
             state._fsp--;
 
-             after(grammarAccess.getPropertyRangeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange1270); 
+             after(grammarAccess.getEventRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvent1238); 
 
             }
 
@@ -1721,35 +1529,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRulePropertyRange"
+    // $ANTLR end "entryRuleEvent"
 
 
-    // $ANTLR start "rulePropertyRange"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:631:1: rulePropertyRange : ( ( rule__PropertyRange__Group__0 ) ) ;
-    public final void rulePropertyRange() throws RecognitionException {
+    // $ANTLR start "ruleEvent"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:631:1: ruleEvent : ( ( rule__Event__NameAssignment ) ) ;
+    public final void ruleEvent() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:635:2: ( ( ( rule__PropertyRange__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:636:1: ( ( rule__PropertyRange__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:635:2: ( ( ( rule__Event__NameAssignment ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:636:1: ( ( rule__Event__NameAssignment ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:636:1: ( ( rule__PropertyRange__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:637:1: ( rule__PropertyRange__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:636:1: ( ( rule__Event__NameAssignment ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:637:1: ( rule__Event__NameAssignment )
             {
-             before(grammarAccess.getPropertyRangeAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:638:1: ( rule__PropertyRange__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:638:2: rule__PropertyRange__Group__0
+             before(grammarAccess.getEventAccess().getNameAssignment()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:638:1: ( rule__Event__NameAssignment )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:638:2: rule__Event__NameAssignment
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__0_in_rulePropertyRange1296);
-            rule__PropertyRange__Group__0();
+            pushFollow(FollowSets000.FOLLOW_rule__Event__NameAssignment_in_ruleEvent1264);
+            rule__Event__NameAssignment();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getPropertyRangeAccess().getGroup()); 
+             after(grammarAccess.getEventAccess().getNameAssignment()); 
 
             }
 
@@ -1768,24 +1576,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rulePropertyRange"
+    // $ANTLR end "ruleEvent"
 
 
-    // $ANTLR start "entryRuleSetOfConfigurations"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:650:1: entryRuleSetOfConfigurations : ruleSetOfConfigurations EOF ;
-    public final void entryRuleSetOfConfigurations() throws RecognitionException {
+    // $ANTLR start "entryRuleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:650: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:651:1: ( ruleSetOfConfigurations EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:652:1: ruleSetOfConfigurations EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:651:1: ( ruleWeightedTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:652:1: ruleWeightedTactic EOF
             {
-             before(grammarAccess.getSetOfConfigurationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations1323);
-            ruleSetOfConfigurations();
+             before(grammarAccess.getWeightedTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic1291);
+            ruleWeightedTactic();
 
             state._fsp--;
 
-             after(grammarAccess.getSetOfConfigurationsRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations1330); 
+             after(grammarAccess.getWeightedTacticRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedTactic1298); 
 
             }
 
@@ -1798,35 +1606,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleSetOfConfigurations"
+    // $ANTLR end "entryRuleWeightedTactic"
 
 
-    // $ANTLR start "ruleSetOfConfigurations"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:659:1: ruleSetOfConfigurations : ( ( rule__SetOfConfigurations__Group__0 ) ) ;
-    public final void ruleSetOfConfigurations() throws RecognitionException {
+    // $ANTLR start "ruleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:659: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:663:2: ( ( ( rule__SetOfConfigurations__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:664:1: ( ( rule__SetOfConfigurations__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:663:2: ( ( ( rule__WeightedTactic__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:664:1: ( ( rule__WeightedTactic__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:664:1: ( ( rule__SetOfConfigurations__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:665:1: ( rule__SetOfConfigurations__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:664:1: ( ( rule__WeightedTactic__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:665:1: ( rule__WeightedTactic__Group__0 )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:666:1: ( rule__SetOfConfigurations__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:666:2: rule__SetOfConfigurations__Group__0
+             before(grammarAccess.getWeightedTacticAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:666:1: ( rule__WeightedTactic__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:666:2: rule__WeightedTactic__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__0_in_ruleSetOfConfigurations1356);
-            rule__SetOfConfigurations__Group__0();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__0_in_ruleWeightedTactic1324);
+            rule__WeightedTactic__Group__0();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getGroup()); 
+             after(grammarAccess.getWeightedTacticAccess().getGroup()); 
 
             }
 
@@ -1845,24 +1653,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleSetOfConfigurations"
+    // $ANTLR end "ruleWeightedTactic"
 
 
-    // $ANTLR start "entryRuleOclConstraint"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:678:1: entryRuleOclConstraint : ruleOclConstraint EOF ;
-    public final void entryRuleOclConstraint() throws RecognitionException {
+    // $ANTLR start "entryRuleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:678: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:679:1: ( ruleOclConstraint EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:680:1: ruleOclConstraint EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:679:1: ( ruleWeightingFunction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:680:1: ruleWeightingFunction EOF
             {
-             before(grammarAccess.getOclConstraintRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint1383);
-            ruleOclConstraint();
+             before(grammarAccess.getWeightingFunctionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction1351);
+            ruleWeightingFunction();
 
             state._fsp--;
 
-             after(grammarAccess.getOclConstraintRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOclConstraint1390); 
+             after(grammarAccess.getWeightingFunctionRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightingFunction1358); 
 
             }
 
@@ -1875,35 +1683,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleOclConstraint"
+    // $ANTLR end "entryRuleWeightingFunction"
 
 
-    // $ANTLR start "ruleOclConstraint"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:687:1: ruleOclConstraint : ( ( rule__OclConstraint__Group__0 ) ) ;
-    public final void ruleOclConstraint() throws RecognitionException {
+    // $ANTLR start "ruleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:687: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:691:2: ( ( ( rule__OclConstraint__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:692:1: ( ( rule__OclConstraint__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:691:2: ( ( ( rule__WeightingFunction__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:692:1: ( ( rule__WeightingFunction__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:692:1: ( ( rule__OclConstraint__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:693:1: ( rule__OclConstraint__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:692:1: ( ( rule__WeightingFunction__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:693:1: ( rule__WeightingFunction__Group__0 )
             {
-             before(grammarAccess.getOclConstraintAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:694:1: ( rule__OclConstraint__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:694:2: rule__OclConstraint__Group__0
+             before(grammarAccess.getWeightingFunctionAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:694:1: ( rule__WeightingFunction__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:694:2: rule__WeightingFunction__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__0_in_ruleOclConstraint1416);
-            rule__OclConstraint__Group__0();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__0_in_ruleWeightingFunction1384);
+            rule__WeightingFunction__Group__0();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getOclConstraintAccess().getGroup()); 
+             after(grammarAccess.getWeightingFunctionAccess().getGroup()); 
 
             }
 
@@ -1922,24 +1730,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleOclConstraint"
+    // $ANTLR end "ruleWeightingFunction"
 
 
-    // $ANTLR start "entryRuleAdaptationScope"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:706:1: entryRuleAdaptationScope : ruleAdaptationScope EOF ;
-    public final void entryRuleAdaptationScope() throws RecognitionException {
+    // $ANTLR start "entryRuleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:718: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:707:1: ( ruleAdaptationScope EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:708:1: ruleAdaptationScope EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:719:1: ( ruleWeightedMetric EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:720:1: ruleWeightedMetric EOF
             {
-             before(grammarAccess.getAdaptationScopeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope1443);
-            ruleAdaptationScope();
+             before(grammarAccess.getWeightedMetricRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric1423);
+            ruleWeightedMetric();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationScopeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationScope1450); 
+             after(grammarAccess.getWeightedMetricRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric1430); 
 
             }
 
@@ -1952,25 +1760,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "entryRuleAdaptationScope"
+    // $ANTLR end "entryRuleWeightedMetric"
 
 
-    // $ANTLR start "ruleAdaptationScope"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:715:1: ruleAdaptationScope : ( 'AdaptationScope' ) ;
-    public final void ruleAdaptationScope() throws RecognitionException {
+    // $ANTLR start "ruleWeightedMetric"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:727: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:719:2: ( ( 'AdaptationScope' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:720:1: ( 'AdaptationScope' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:731:2: ( ( ( rule__WeightedMetric__Group__0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:732:1: ( ( rule__WeightedMetric__Group__0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:720:1: ( 'AdaptationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:721:1: 'AdaptationScope'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:732:1: ( ( rule__WeightedMetric__Group__0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:733:1: ( rule__WeightedMetric__Group__0 )
             {
-             before(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
-            match(input,11,FollowSets000.FOLLOW_11_in_ruleAdaptationScope1477); 
-             after(grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+             before(grammarAccess.getWeightedMetricAccess().getGroup()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:734:1: ( rule__WeightedMetric__Group__0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:734:2: rule__WeightedMetric__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric1456);
+            rule__WeightedMetric__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getWeightedMetricAccess().getGroup()); 
 
             }
 
@@ -1989,17771 +1807,149 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "ruleAdaptationScope"
-
-
-    // $ANTLR start "entryRuleAdaptationDirection"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:737:1: ( ruleAdaptationDirection EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:738:1: ruleAdaptationDirection EOF
-            {
-             before(grammarAccess.getAdaptationDirectionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection1505);
-            ruleAdaptationDirection();
-
-            state._fsp--;
+    // $ANTLR end "ruleWeightedMetric"
 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:749:2: ( ( 'AdaptationDirection' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:750:1: ( 'AdaptationDirection' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:750:1: ( 'AdaptationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:767:1: ( ruleObjective EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:779:2: ( ( ( rule__Objective__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:780:1: ( ( rule__Objective__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:780:1: ( ( rule__Objective__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:782:1: ( rule__Objective__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:795:1: ( ruleEvent EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:807:2: ( ( ( rule__Event__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:808:1: ( ( rule__Event__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:808:1: ( ( rule__Event__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:810:1: ( rule__Event__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:823:1: ( ruleWeightedTactic EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:835:2: ( ( ( rule__WeightedTactic__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:836:1: ( ( rule__WeightedTactic__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:836:1: ( ( rule__WeightedTactic__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:838:1: ( rule__WeightedTactic__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:851:1: ( ruleWeightingFunction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:863:2: ( ( ( rule__WeightingFunction__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:864:1: ( ( rule__WeightingFunction__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:864:1: ( ( rule__WeightingFunction__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:866:1: ( rule__WeightingFunction__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.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 "entryRuleEDate"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:882: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:883:1: ( ruleEDate EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:884:1: ruleEDate EOF
-            {
-             before(grammarAccess.getEDateRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEDate_in_entryRuleEDate1811);
-            ruleEDate();
-
-            state._fsp--;
-
-             after(grammarAccess.getEDateRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDate1818); 
-
-            }
-
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:891: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:895:2: ( ( 'EDate' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:896:1: ( 'EDate' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:896:1: ( 'EDate' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:897:1: 'EDate'
-            {
-             before(grammarAccess.getEDateAccess().getEDateKeyword()); 
-            match(input,13,FollowSets000.FOLLOW_13_in_ruleEDate1845); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:912: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:913:1: ( ruleMetricValue EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:914:1: ruleMetricValue EOF
-            {
-             before(grammarAccess.getMetricValueRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleMetricValue_in_entryRuleMetricValue1873);
-            ruleMetricValue();
-
-            state._fsp--;
-
-             after(grammarAccess.getMetricValueRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMetricValue1880); 
-
-            }
-
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:921: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:925:2: ( ( ( rule__MetricValue__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:926:1: ( ( rule__MetricValue__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:926:1: ( ( rule__MetricValue__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:927:1: ( rule__MetricValue__Group__0 )
-            {
-             before(grammarAccess.getMetricValueAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:928:1: ( rule__MetricValue__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:928:2: rule__MetricValue__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__0_in_ruleMetricValue1906);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:944: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:945:1: ( ruleWeightedMetric EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:946:1: ruleWeightedMetric EOF
-            {
-             before(grammarAccess.getWeightedMetricRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric1937);
-            ruleWeightedMetric();
-
-            state._fsp--;
-
-             after(grammarAccess.getWeightedMetricRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric1944); 
-
-            }
-
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:953: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:957:2: ( ( ( rule__WeightedMetric__Group__0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:958:1: ( ( rule__WeightedMetric__Group__0 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:958:1: ( ( rule__WeightedMetric__Group__0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:959:1: ( rule__WeightedMetric__Group__0 )
-            {
-             before(grammarAccess.getWeightedMetricAccess().getGroup()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:960:1: ( rule__WeightedMetric__Group__0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:960:2: rule__WeightedMetric__Group__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric1970);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:973: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:977:1: ( ( ruleStartAction ) | ( ruleStopAction ) | ( ruleLoopAction ) | ( ruleBranchAction ) | ( ruleActionReference ) )
-            int alt1=5;
-            switch ( input.LA(1) ) {
-            case 46:
-                {
-                alt1=1;
-                }
-                break;
-            case 49:
-                {
-                alt1=2;
-                }
-                break;
-            case 50:
-                {
-                alt1=3;
-                }
-                break;
-            case 53:
-                {
-                alt1=4;
-                }
-                break;
-            case 58:
-                {
-                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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:978:1: ( ruleStartAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:978:1: ( ruleStartAction )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:979:1: ruleStartAction
-                    {
-                     before(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives2007);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:984:6: ( ruleStopAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:984:6: ( ruleStopAction )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:985:1: ruleStopAction
-                    {
-                     before(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives2024);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:990:6: ( ruleLoopAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:990:6: ( ruleLoopAction )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:991:1: ruleLoopAction
-                    {
-                     before(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives2041);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:996:6: ( ruleBranchAction )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:996:6: ( ruleBranchAction )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:997:1: ruleBranchAction
-                    {
-                     before(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives2058);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1002:6: ( ruleActionReference )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1002:6: ( ruleActionReference )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1003:1: ruleActionReference
-                    {
-                     before(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives2075);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1013: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1017:1: ( ( rulePropertyRange ) | ( ruleSetOfConfigurations ) )
-            int alt2=2;
-            int LA2_0 = input.LA(1);
-
-            if ( (LA2_0==71) ) {
-                alt2=1;
-            }
-            else if ( (LA2_0==74) ) {
-                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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1018:1: ( rulePropertyRange )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1018:1: ( rulePropertyRange )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1019:1: rulePropertyRange
-                    {
-                     before(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_rule__VariationType__Alternatives2107);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1024:6: ( ruleSetOfConfigurations )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1024:6: ( ruleSetOfConfigurations )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1025:1: ruleSetOfConfigurations
-                    {
-                     before(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_rule__VariationType__Alternatives2124);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1035: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1039: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1040:1: ( RULE_STRING )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1040:1: ( RULE_STRING )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1041:1: RULE_STRING
-                    {
-                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives2156); 
-                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1046:6: ( RULE_ID )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1046:6: ( RULE_ID )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1047:1: RULE_ID
-                    {
-                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives2173); 
-                     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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1057: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1061:1: ( ( 'E' ) | ( 'e' ) )
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0==14) ) {
-                alt4=1;
-            }
-            else if ( (LA4_0==15) ) {
-                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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1062:1: ( 'E' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1062:1: ( 'E' )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1063:1: 'E'
-                    {
-                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
-                    match(input,14,FollowSets000.FOLLOW_14_in_rule__EDouble__Alternatives_4_02206); 
-                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1070:6: ( 'e' )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1070:6: ( 'e' )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1071:1: 'e'
-                    {
-                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
-                    match(input,15,FollowSets000.FOLLOW_15_in_rule__EDouble__Alternatives_4_02226); 
-                     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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1085: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1089:1: ( rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1090:2: rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__02258);
-            rule__AdaptationProcess__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__02261);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1097: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1101:1: ( ( 'AdaptationProcess' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1102:1: ( 'AdaptationProcess' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1102:1: ( 'AdaptationProcess' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1103:1: 'AdaptationProcess'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); 
-            match(input,16,FollowSets000.FOLLOW_16_in_rule__AdaptationProcess__Group__0__Impl2289); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1116: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1120:1: ( rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1121:2: rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__12320);
-            rule__AdaptationProcess__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__12323);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1128: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1132:1: ( ( ( rule__AdaptationProcess__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1133:1: ( ( rule__AdaptationProcess__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1133:1: ( ( rule__AdaptationProcess__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1134:1: ( rule__AdaptationProcess__IdAssignment_1 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1135:1: ( rule__AdaptationProcess__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1135:2: rule__AdaptationProcess__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__IdAssignment_1_in_rule__AdaptationProcess__Group__1__Impl2350);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1145: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1149:1: ( rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1150:2: rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__22380);
-            rule__AdaptationProcess__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__22383);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1157: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1161:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1162:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1162:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1163:1: '{'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group__2__Impl2411); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1176: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1180:1: ( rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1181:2: rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__32442);
-            rule__AdaptationProcess__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__32445);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1188: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1192:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1193:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1193:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1194:1: 'name'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationProcess__Group__3__Impl2473); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1207: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1211:1: ( rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1212:2: rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__42504);
-            rule__AdaptationProcess__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__42507);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1219: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1223:1: ( ( ( rule__AdaptationProcess__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1224:1: ( ( rule__AdaptationProcess__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1224:1: ( ( rule__AdaptationProcess__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1225:1: ( rule__AdaptationProcess__NameAssignment_4 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1226:1: ( rule__AdaptationProcess__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1226:2: rule__AdaptationProcess__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__NameAssignment_4_in_rule__AdaptationProcess__Group__4__Impl2534);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1236: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1240:1: ( rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1241:2: rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52564);
-            rule__AdaptationProcess__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52567);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1248: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1252:1: ( ( 'tactics' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1253:1: ( 'tactics' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1253:1: ( 'tactics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1254:1: 'tactics'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5()); 
-            match(input,19,FollowSets000.FOLLOW_19_in_rule__AdaptationProcess__Group__5__Impl2595); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1267: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1271:1: ( rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1272:2: rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62626);
-            rule__AdaptationProcess__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62629);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1279: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1283:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1284:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1284:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1285:1: '{'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group__6__Impl2657); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1298: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1302:1: ( rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1303:2: rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72688);
-            rule__AdaptationProcess__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72691);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1310: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1314:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_7 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1315:1: ( ( rule__AdaptationProcess__TacticsAssignment_7 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1315:1: ( ( rule__AdaptationProcess__TacticsAssignment_7 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1316:1: ( rule__AdaptationProcess__TacticsAssignment_7 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1317:1: ( rule__AdaptationProcess__TacticsAssignment_7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1317:2: rule__AdaptationProcess__TacticsAssignment_7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2718);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1327: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1331:1: ( rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1332:2: rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82748);
-            rule__AdaptationProcess__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82751);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1339: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1343:1: ( ( ( rule__AdaptationProcess__Group_8__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1344:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1344:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1345: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1346:1: ( rule__AdaptationProcess__Group_8__0 )*
-            loop5:
-            do {
-                int alt5=2;
-                int LA5_0 = input.LA(1);
-
-                if ( (LA5_0==24) ) {
-                    alt5=1;
-                }
-
-
-                switch (alt5) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1346:2: rule__AdaptationProcess__Group_8__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2778);
-            	    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1356: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1360:1: ( rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1361:2: rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92809);
-            rule__AdaptationProcess__Group__9__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92812);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1368: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1372:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1373:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1373:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1374:1: '}'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__9__Impl2840); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1387: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1391:1: ( rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1392:2: rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102871);
-            rule__AdaptationProcess__Group__10__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102874);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1399: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1403:1: ( ( 'actions' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1404:1: ( 'actions' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1404:1: ( 'actions' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1405:1: 'actions'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__10__Impl2902); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1418: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1422:1: ( rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1423:2: rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__112933);
-            rule__AdaptationProcess__Group__11__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__112936);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1430: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1434:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1435:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1435:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1436:1: '{'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group__11__Impl2964); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1449: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1453:1: ( rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1454:2: rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__122995);
-            rule__AdaptationProcess__Group__12__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__122998);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1461: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1465:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_12 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1466:1: ( ( rule__AdaptationProcess__ActionsAssignment_12 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1466:1: ( ( rule__AdaptationProcess__ActionsAssignment_12 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1467:1: ( rule__AdaptationProcess__ActionsAssignment_12 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1468:1: ( rule__AdaptationProcess__ActionsAssignment_12 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1468:2: rule__AdaptationProcess__ActionsAssignment_12
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_12_in_rule__AdaptationProcess__Group__12__Impl3025);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1478: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1482:1: ( rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1483:2: rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__133055);
-            rule__AdaptationProcess__Group__13__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__133058);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1490: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1494:1: ( ( ( rule__AdaptationProcess__Group_13__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1495:1: ( ( rule__AdaptationProcess__Group_13__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1495:1: ( ( rule__AdaptationProcess__Group_13__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1496: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1497:1: ( rule__AdaptationProcess__Group_13__0 )*
-            loop6:
-            do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
-
-                if ( (LA6_0==24) ) {
-                    alt6=1;
-                }
-
-
-                switch (alt6) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1497:2: rule__AdaptationProcess__Group_13__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__0_in_rule__AdaptationProcess__Group__13__Impl3085);
-            	    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1507: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1511:1: ( rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1512:2: rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__143116);
-            rule__AdaptationProcess__Group__14__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__143119);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1519: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1523:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1524:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1524:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1525:1: '}'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__14__Impl3147); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1538: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1542:1: ( rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1543:2: rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__153178);
-            rule__AdaptationProcess__Group__15__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__153181);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1550: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1554:1: ( ( 'strategies' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1555:1: ( 'strategies' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1555:1: ( 'strategies' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1556:1: 'strategies'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15()); 
-            match(input,22,FollowSets000.FOLLOW_22_in_rule__AdaptationProcess__Group__15__Impl3209); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1569: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1573:1: ( rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1574:2: rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__163240);
-            rule__AdaptationProcess__Group__16__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__163243);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1581: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1585:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1586:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1586:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1587:1: '{'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group__16__Impl3271); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1600: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1604:1: ( rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1605:2: rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__173302);
-            rule__AdaptationProcess__Group__17__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__173305);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1612: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1616:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1617:1: ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1617:1: ( ( rule__AdaptationProcess__StrategiesAssignment_17 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1618:1: ( rule__AdaptationProcess__StrategiesAssignment_17 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1619:1: ( rule__AdaptationProcess__StrategiesAssignment_17 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1619:2: rule__AdaptationProcess__StrategiesAssignment_17
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_17_in_rule__AdaptationProcess__Group__17__Impl3332);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1629: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1633:1: ( rule__AdaptationProcess__Group__18__Impl rule__AdaptationProcess__Group__19 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1634:2: rule__AdaptationProcess__Group__18__Impl rule__AdaptationProcess__Group__19
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__183362);
-            rule__AdaptationProcess__Group__18__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__19_in_rule__AdaptationProcess__Group__183365);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1641: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1645:1: ( ( ( rule__AdaptationProcess__Group_18__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1646:1: ( ( rule__AdaptationProcess__Group_18__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1646:1: ( ( rule__AdaptationProcess__Group_18__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1647: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1648:1: ( rule__AdaptationProcess__Group_18__0 )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0==24) ) {
-                    alt7=1;
-                }
-
-
-                switch (alt7) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1648:2: rule__AdaptationProcess__Group_18__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__0_in_rule__AdaptationProcess__Group__18__Impl3392);
-            	    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1658: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1662:1: ( rule__AdaptationProcess__Group__19__Impl rule__AdaptationProcess__Group__20 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1663:2: rule__AdaptationProcess__Group__19__Impl rule__AdaptationProcess__Group__20
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__19__Impl_in_rule__AdaptationProcess__Group__193423);
-            rule__AdaptationProcess__Group__19__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__20_in_rule__AdaptationProcess__Group__193426);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1670: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1674:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1675:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1675:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1676:1: '}'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__19__Impl3454); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1689: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1693:1: ( rule__AdaptationProcess__Group__20__Impl rule__AdaptationProcess__Group__21 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1694:2: rule__AdaptationProcess__Group__20__Impl rule__AdaptationProcess__Group__21
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__20__Impl_in_rule__AdaptationProcess__Group__203485);
-            rule__AdaptationProcess__Group__20__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__21_in_rule__AdaptationProcess__Group__203488);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1701: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1705:1: ( ( ( rule__AdaptationProcess__Group_20__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1706:1: ( ( rule__AdaptationProcess__Group_20__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1706:1: ( ( rule__AdaptationProcess__Group_20__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1707: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1708:1: ( rule__AdaptationProcess__Group_20__0 )?
-            int alt8=2;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0==25) ) {
-                alt8=1;
-            }
-            switch (alt8) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1708:2: rule__AdaptationProcess__Group_20__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__0_in_rule__AdaptationProcess__Group__20__Impl3515);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1718: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1722:1: ( rule__AdaptationProcess__Group__21__Impl rule__AdaptationProcess__Group__22 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1723:2: rule__AdaptationProcess__Group__21__Impl rule__AdaptationProcess__Group__22
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__21__Impl_in_rule__AdaptationProcess__Group__213546);
-            rule__AdaptationProcess__Group__21__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__22_in_rule__AdaptationProcess__Group__213549);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1730: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1734:1: ( ( 'goal' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1735:1: ( 'goal' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1735:1: ( 'goal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1736:1: 'goal'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21()); 
-            match(input,23,FollowSets000.FOLLOW_23_in_rule__AdaptationProcess__Group__21__Impl3577); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1749: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1753:1: ( rule__AdaptationProcess__Group__22__Impl rule__AdaptationProcess__Group__23 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1754:2: rule__AdaptationProcess__Group__22__Impl rule__AdaptationProcess__Group__23
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__22__Impl_in_rule__AdaptationProcess__Group__223608);
-            rule__AdaptationProcess__Group__22__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__23_in_rule__AdaptationProcess__Group__223611);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1761: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1765:1: ( ( ( rule__AdaptationProcess__GoalAssignment_22 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1766:1: ( ( rule__AdaptationProcess__GoalAssignment_22 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1766:1: ( ( rule__AdaptationProcess__GoalAssignment_22 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1767:1: ( rule__AdaptationProcess__GoalAssignment_22 )
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1768:1: ( rule__AdaptationProcess__GoalAssignment_22 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1768:2: rule__AdaptationProcess__GoalAssignment_22
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__GoalAssignment_22_in_rule__AdaptationProcess__Group__22__Impl3638);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1778:1: rule__AdaptationProcess__Group__23 : rule__AdaptationProcess__Group__23__Impl ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1782:1: ( rule__AdaptationProcess__Group__23__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1783:2: rule__AdaptationProcess__Group__23__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__23__Impl_in_rule__AdaptationProcess__Group__233668);
-            rule__AdaptationProcess__Group__23__Impl();
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1789:1: rule__AdaptationProcess__Group__23__Impl : ( '}' ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1793:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1794:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1794:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1795:1: '}'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__23__Impl3696); 
-             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_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_8__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1856: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1860: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1861: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__03775);
-            rule__AdaptationProcess__Group_8__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__03778);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1868: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1872:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1873:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1873:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1874:1: ','
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group_8__0__Impl3806); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1887: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1891:1: ( rule__AdaptationProcess__Group_8__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1892:2: rule__AdaptationProcess__Group_8__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__13837);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1898: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1902:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1903:1: ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1903:1: ( ( rule__AdaptationProcess__TacticsAssignment_8_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1904: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1905:1: ( rule__AdaptationProcess__TacticsAssignment_8_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1905:2: rule__AdaptationProcess__TacticsAssignment_8_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl3864);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1919: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1923: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1924: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__03898);
-            rule__AdaptationProcess__Group_13__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__1_in_rule__AdaptationProcess__Group_13__03901);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1931: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1935:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1936:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1936:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1937:1: ','
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group_13__0__Impl3929); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1950: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1954:1: ( rule__AdaptationProcess__Group_13__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1955:2: rule__AdaptationProcess__Group_13__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_13__1__Impl_in_rule__AdaptationProcess__Group_13__13960);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1961: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1965:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1966:1: ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1966:1: ( ( rule__AdaptationProcess__ActionsAssignment_13_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1967: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1968:1: ( rule__AdaptationProcess__ActionsAssignment_13_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1968:2: rule__AdaptationProcess__ActionsAssignment_13_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_13_1_in_rule__AdaptationProcess__Group_13__1__Impl3987);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1982: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1986: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1987: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__04021);
-            rule__AdaptationProcess__Group_18__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__1_in_rule__AdaptationProcess__Group_18__04024);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1994: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1998:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1999:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1999:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2000:1: ','
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group_18__0__Impl4052); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2013: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2017:1: ( rule__AdaptationProcess__Group_18__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2018:2: rule__AdaptationProcess__Group_18__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_18__1__Impl_in_rule__AdaptationProcess__Group_18__14083);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2024: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2028:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2029:1: ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2029:1: ( ( rule__AdaptationProcess__StrategiesAssignment_18_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2030: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2031:1: ( rule__AdaptationProcess__StrategiesAssignment_18_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2031:2: rule__AdaptationProcess__StrategiesAssignment_18_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_18_1_in_rule__AdaptationProcess__Group_18__1__Impl4110);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2045: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2049: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2050: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__04144);
-            rule__AdaptationProcess__Group_20__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__1_in_rule__AdaptationProcess__Group_20__04147);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2057: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2061:1: ( ( 'parameters' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2062:1: ( 'parameters' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2062:1: ( 'parameters' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2063:1: 'parameters'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group_20__0__Impl4175); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2076: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2080: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2081: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__14206);
-            rule__AdaptationProcess__Group_20__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__2_in_rule__AdaptationProcess__Group_20__14209);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2088: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2092:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2093:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2093:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2094:1: '{'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationProcess__Group_20__1__Impl4237); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2107: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2111: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2112: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__24268);
-            rule__AdaptationProcess__Group_20__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__3_in_rule__AdaptationProcess__Group_20__24271);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2119: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2123:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2124:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2124:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2125: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2126:1: ( rule__AdaptationProcess__ParametersAssignment_20_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2126:2: rule__AdaptationProcess__ParametersAssignment_20_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_2_in_rule__AdaptationProcess__Group_20__2__Impl4298);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2136: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2140: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2141: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__34328);
-            rule__AdaptationProcess__Group_20__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__4_in_rule__AdaptationProcess__Group_20__34331);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2148: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2152:1: ( ( ( rule__AdaptationProcess__Group_20_3__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2153:1: ( ( rule__AdaptationProcess__Group_20_3__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2153:1: ( ( rule__AdaptationProcess__Group_20_3__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2154: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2155:1: ( rule__AdaptationProcess__Group_20_3__0 )*
-            loop9:
-            do {
-                int alt9=2;
-                int LA9_0 = input.LA(1);
-
-                if ( (LA9_0==24) ) {
-                    alt9=1;
-                }
-
-
-                switch (alt9) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2155:2: rule__AdaptationProcess__Group_20_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__0_in_rule__AdaptationProcess__Group_20__3__Impl4358);
-            	    rule__AdaptationProcess__Group_20_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop9;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2165: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2169:1: ( rule__AdaptationProcess__Group_20__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2170:2: rule__AdaptationProcess__Group_20__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20__4__Impl_in_rule__AdaptationProcess__Group_20__44389);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2176: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2180:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2181:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2181:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2182:1: '}'
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group_20__4__Impl4417); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2205: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2209: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2210: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__04458);
-            rule__AdaptationProcess__Group_20_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__1_in_rule__AdaptationProcess__Group_20_3__04461);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2217: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2221:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2222:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2222:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2223:1: ','
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group_20_3__0__Impl4489); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2236: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2240:1: ( rule__AdaptationProcess__Group_20_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2241:2: rule__AdaptationProcess__Group_20_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_20_3__1__Impl_in_rule__AdaptationProcess__Group_20_3__14520);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2247: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2251:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2252:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2252:1: ( ( rule__AdaptationProcess__ParametersAssignment_20_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2253: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2254:1: ( rule__AdaptationProcess__ParametersAssignment_20_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2254:2: rule__AdaptationProcess__ParametersAssignment_20_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_3_1_in_rule__AdaptationProcess__Group_20_3__1__Impl4547);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2268: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2272:1: ( rule__Tactic__Group__0__Impl rule__Tactic__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2273:2: rule__Tactic__Group__0__Impl rule__Tactic__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__04581);
-            rule__Tactic__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__04584);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2280: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2284:1: ( ( 'Tactic' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2285:1: ( 'Tactic' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2285:1: ( 'Tactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2286:1: 'Tactic'
-            {
-             before(grammarAccess.getTacticAccess().getTacticKeyword_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__Tactic__Group__0__Impl4612); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2299: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2303:1: ( rule__Tactic__Group__1__Impl rule__Tactic__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2304:2: rule__Tactic__Group__1__Impl rule__Tactic__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__14643);
-            rule__Tactic__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__14646);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2311: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2315:1: ( ( ( rule__Tactic__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2316:1: ( ( rule__Tactic__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2316:1: ( ( rule__Tactic__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2317:1: ( rule__Tactic__IdAssignment_1 )
-            {
-             before(grammarAccess.getTacticAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2318:1: ( rule__Tactic__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2318:2: rule__Tactic__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__IdAssignment_1_in_rule__Tactic__Group__1__Impl4673);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2328: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2332:1: ( rule__Tactic__Group__2__Impl rule__Tactic__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2333:2: rule__Tactic__Group__2__Impl rule__Tactic__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__24703);
-            rule__Tactic__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__24706);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2340: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2344:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2345:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2345:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2346:1: '{'
-            {
-             before(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Tactic__Group__2__Impl4734); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2359: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2363:1: ( rule__Tactic__Group__3__Impl rule__Tactic__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2364:2: rule__Tactic__Group__3__Impl rule__Tactic__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__34765);
-            rule__Tactic__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__34768);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2371: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2375:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2376:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2376:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2377:1: 'name'
-            {
-             before(grammarAccess.getTacticAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__Tactic__Group__3__Impl4796); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2390: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2394:1: ( rule__Tactic__Group__4__Impl rule__Tactic__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2395:2: rule__Tactic__Group__4__Impl rule__Tactic__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__44827);
-            rule__Tactic__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__44830);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2402: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2406:1: ( ( ( rule__Tactic__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2407:1: ( ( rule__Tactic__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2407:1: ( ( rule__Tactic__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2408:1: ( rule__Tactic__NameAssignment_4 )
-            {
-             before(grammarAccess.getTacticAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2409:1: ( rule__Tactic__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2409:2: rule__Tactic__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__NameAssignment_4_in_rule__Tactic__Group__4__Impl4857);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2419: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2423:1: ( rule__Tactic__Group__5__Impl rule__Tactic__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2424:2: rule__Tactic__Group__5__Impl rule__Tactic__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__54887);
-            rule__Tactic__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__54890);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2431: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2435:1: ( ( ( rule__Tactic__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2436:1: ( ( rule__Tactic__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2436:1: ( ( rule__Tactic__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2437: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2438:1: ( rule__Tactic__Group_5__0 )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0==28) ) {
-                alt10=1;
-            }
-            switch (alt10) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2438:2: rule__Tactic__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__0_in_rule__Tactic__Group__5__Impl4917);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2448: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2452:1: ( rule__Tactic__Group__6__Impl rule__Tactic__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2453:2: rule__Tactic__Group__6__Impl rule__Tactic__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__64948);
-            rule__Tactic__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__64951);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2460: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2464:1: ( ( ( rule__Tactic__Group_6__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2465:1: ( ( rule__Tactic__Group_6__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2465:1: ( ( rule__Tactic__Group_6__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2466: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2467:1: ( rule__Tactic__Group_6__0 )?
-            int alt11=2;
-            int LA11_0 = input.LA(1);
-
-            if ( (LA11_0==31) ) {
-                alt11=1;
-            }
-            switch (alt11) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2467:2: rule__Tactic__Group_6__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__0_in_rule__Tactic__Group__6__Impl4978);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2477: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2481:1: ( rule__Tactic__Group__7__Impl rule__Tactic__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2482:2: rule__Tactic__Group__7__Impl rule__Tactic__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__75009);
-            rule__Tactic__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__75012);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2489: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2493:1: ( ( 'implementedPlan' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2494:1: ( 'implementedPlan' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2494:1: ( 'implementedPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2495:1: 'implementedPlan'
-            {
-             before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_7()); 
-            match(input,27,FollowSets000.FOLLOW_27_in_rule__Tactic__Group__7__Impl5040); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2508: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2512:1: ( rule__Tactic__Group__8__Impl rule__Tactic__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2513:2: rule__Tactic__Group__8__Impl rule__Tactic__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__85071);
-            rule__Tactic__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__9_in_rule__Tactic__Group__85074);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2520: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2524:1: ( ( ( rule__Tactic__ImplementedPlanAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2525:1: ( ( rule__Tactic__ImplementedPlanAssignment_8 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2525:1: ( ( rule__Tactic__ImplementedPlanAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2526:1: ( rule__Tactic__ImplementedPlanAssignment_8 )
-            {
-             before(grammarAccess.getTacticAccess().getImplementedPlanAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2527:1: ( rule__Tactic__ImplementedPlanAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2527:2: rule__Tactic__ImplementedPlanAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__ImplementedPlanAssignment_8_in_rule__Tactic__Group__8__Impl5101);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2537: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2541:1: ( rule__Tactic__Group__9__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2542:2: rule__Tactic__Group__9__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__9__Impl_in_rule__Tactic__Group__95131);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2548: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2552:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2553:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2553:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2554:1: '}'
-            {
-             before(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Tactic__Group__9__Impl5159); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2587: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2591: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2592: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__05210);
-            rule__Tactic__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__1_in_rule__Tactic__Group_5__05213);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2599: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2603:1: ( ( 'inputParams' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2604:1: ( 'inputParams' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2604:1: ( 'inputParams' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2605:1: 'inputParams'
-            {
-             before(grammarAccess.getTacticAccess().getInputParamsKeyword_5_0()); 
-            match(input,28,FollowSets000.FOLLOW_28_in_rule__Tactic__Group_5__0__Impl5241); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2618: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2622: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2623: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__15272);
-            rule__Tactic__Group_5__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__2_in_rule__Tactic__Group_5__15275);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2630: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2634:1: ( ( '(' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2635:1: ( '(' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2635:1: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2636:1: '('
-            {
-             before(grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__Tactic__Group_5__1__Impl5303); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2649: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2653: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2654: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__25334);
-            rule__Tactic__Group_5__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__3_in_rule__Tactic__Group_5__25337);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2661: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2665:1: ( ( ( rule__Tactic__InputParamsAssignment_5_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2666:1: ( ( rule__Tactic__InputParamsAssignment_5_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2666:1: ( ( rule__Tactic__InputParamsAssignment_5_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2667: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2668:1: ( rule__Tactic__InputParamsAssignment_5_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2668:2: rule__Tactic__InputParamsAssignment_5_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_5_2_in_rule__Tactic__Group_5__2__Impl5364);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2678: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2682: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2683: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__35394);
-            rule__Tactic__Group_5__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__4_in_rule__Tactic__Group_5__35397);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2690: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2694:1: ( ( ( rule__Tactic__Group_5_3__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2695:1: ( ( rule__Tactic__Group_5_3__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2695:1: ( ( rule__Tactic__Group_5_3__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2696: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2697:1: ( rule__Tactic__Group_5_3__0 )*
-            loop12:
-            do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
-
-                if ( (LA12_0==24) ) {
-                    alt12=1;
-                }
-
-
-                switch (alt12) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2697:2: rule__Tactic__Group_5_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__0_in_rule__Tactic__Group_5__3__Impl5424);
-            	    rule__Tactic__Group_5_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop12;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2707: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2711:1: ( rule__Tactic__Group_5__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2712:2: rule__Tactic__Group_5__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5__4__Impl_in_rule__Tactic__Group_5__45455);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2718: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2722:1: ( ( ')' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2723:1: ( ')' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2723:1: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2724:1: ')'
-            {
-             before(grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__Tactic__Group_5__4__Impl5483); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2747: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2751: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2752: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__05524);
-            rule__Tactic__Group_5_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__1_in_rule__Tactic__Group_5_3__05527);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2759: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2763:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2764:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2764:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2765:1: ','
-            {
-             before(grammarAccess.getTacticAccess().getCommaKeyword_5_3_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__Tactic__Group_5_3__0__Impl5555); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2778: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2782:1: ( rule__Tactic__Group_5_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2783:2: rule__Tactic__Group_5_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_5_3__1__Impl_in_rule__Tactic__Group_5_3__15586);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2789: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2793:1: ( ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2794:1: ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2794:1: ( ( rule__Tactic__InputParamsAssignment_5_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2795: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2796:1: ( rule__Tactic__InputParamsAssignment_5_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2796:2: rule__Tactic__InputParamsAssignment_5_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_5_3_1_in_rule__Tactic__Group_5_3__1__Impl5613);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2810: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2814: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2815: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__05647);
-            rule__Tactic__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__1_in_rule__Tactic__Group_6__05650);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2822: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2826:1: ( ( 'outputParam' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2827:1: ( 'outputParam' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2827:1: ( 'outputParam' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2828:1: 'outputParam'
-            {
-             before(grammarAccess.getTacticAccess().getOutputParamKeyword_6_0()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__Tactic__Group_6__0__Impl5678); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2841: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2845:1: ( rule__Tactic__Group_6__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2846:2: rule__Tactic__Group_6__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_6__1__Impl_in_rule__Tactic__Group_6__15709);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2852: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2856:1: ( ( ( rule__Tactic__OutputParamAssignment_6_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2857:1: ( ( rule__Tactic__OutputParamAssignment_6_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2857:1: ( ( rule__Tactic__OutputParamAssignment_6_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2858: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2859:1: ( rule__Tactic__OutputParamAssignment_6_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2859:2: rule__Tactic__OutputParamAssignment_6_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Tactic__OutputParamAssignment_6_1_in_rule__Tactic__Group_6__1__Impl5736);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2873: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2877:1: ( rule__Action__Group__0__Impl rule__Action__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2878:2: rule__Action__Group__0__Impl rule__Action__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__05770);
-            rule__Action__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1_in_rule__Action__Group__05773);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2885: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2889:1: ( ( 'Action' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2890:1: ( 'Action' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2890:1: ( 'Action' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2891:1: 'Action'
-            {
-             before(grammarAccess.getActionAccess().getActionKeyword_0()); 
-            match(input,32,FollowSets000.FOLLOW_32_in_rule__Action__Group__0__Impl5801); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2904: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2908:1: ( rule__Action__Group__1__Impl rule__Action__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2909:2: rule__Action__Group__1__Impl rule__Action__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__15832);
-            rule__Action__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2_in_rule__Action__Group__15835);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2916: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2920:1: ( ( ( rule__Action__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2921:1: ( ( rule__Action__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2921:1: ( ( rule__Action__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2922:1: ( rule__Action__IdAssignment_1 )
-            {
-             before(grammarAccess.getActionAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2923:1: ( rule__Action__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2923:2: rule__Action__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__IdAssignment_1_in_rule__Action__Group__1__Impl5862);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2933: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2937:1: ( rule__Action__Group__2__Impl rule__Action__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2938:2: rule__Action__Group__2__Impl rule__Action__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__25892);
-            rule__Action__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3_in_rule__Action__Group__25895);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2945: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2949:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2950:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2950:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2951:1: '{'
-            {
-             before(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Action__Group__2__Impl5923); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2964: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2968:1: ( rule__Action__Group__3__Impl rule__Action__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2969:2: rule__Action__Group__3__Impl rule__Action__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__35954);
-            rule__Action__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4_in_rule__Action__Group__35957);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2976: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2980:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2981:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2981:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2982:1: 'name'
-            {
-             before(grammarAccess.getActionAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__Action__Group__3__Impl5985); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2995: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2999:1: ( rule__Action__Group__4__Impl rule__Action__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3000:2: rule__Action__Group__4__Impl rule__Action__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__46016);
-            rule__Action__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5_in_rule__Action__Group__46019);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3007: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3011:1: ( ( ( rule__Action__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3012:1: ( ( rule__Action__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3012:1: ( ( rule__Action__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3013:1: ( rule__Action__NameAssignment_4 )
-            {
-             before(grammarAccess.getActionAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3014:1: ( rule__Action__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3014:2: rule__Action__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__NameAssignment_4_in_rule__Action__Group__4__Impl6046);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3024: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3028:1: ( rule__Action__Group__5__Impl rule__Action__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3029:2: rule__Action__Group__5__Impl rule__Action__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__56076);
-            rule__Action__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6_in_rule__Action__Group__56079);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3036: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3040:1: ( ( ( rule__Action__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3041:1: ( ( rule__Action__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3041:1: ( ( rule__Action__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3042: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3043:1: ( rule__Action__Group_5__0 )?
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==31) ) {
-                alt13=1;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3043:2: rule__Action__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__0_in_rule__Action__Group__5__Impl6106);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3053: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3057:1: ( rule__Action__Group__6__Impl rule__Action__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3058:2: rule__Action__Group__6__Impl rule__Action__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__66137);
-            rule__Action__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7_in_rule__Action__Group__66140);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3065: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3069:1: ( ( ( rule__Action__Group_6__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3070:1: ( ( rule__Action__Group_6__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3070:1: ( ( rule__Action__Group_6__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3071: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3072:1: ( rule__Action__Group_6__0 )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==28) ) {
-                alt14=1;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3072:2: rule__Action__Group_6__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__0_in_rule__Action__Group__6__Impl6167);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3082: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3086:1: ( rule__Action__Group__7__Impl rule__Action__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3087:2: rule__Action__Group__7__Impl rule__Action__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__76198);
-            rule__Action__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8_in_rule__Action__Group__76201);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3094: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3098:1: ( ( 'referredAdaptationPoint' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3099:1: ( 'referredAdaptationPoint' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3099:1: ( 'referredAdaptationPoint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3100:1: 'referredAdaptationPoint'
-            {
-             before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7()); 
-            match(input,33,FollowSets000.FOLLOW_33_in_rule__Action__Group__7__Impl6229); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3113: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3117:1: ( rule__Action__Group__8__Impl rule__Action__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3118:2: rule__Action__Group__8__Impl rule__Action__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__86260);
-            rule__Action__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9_in_rule__Action__Group__86263);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3125: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3129:1: ( ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3130:1: ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3130:1: ( ( rule__Action__ReferredAdaptationPointAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3131:1: ( rule__Action__ReferredAdaptationPointAssignment_8 )
-            {
-             before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3132:1: ( rule__Action__ReferredAdaptationPointAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3132:2: rule__Action__ReferredAdaptationPointAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__ReferredAdaptationPointAssignment_8_in_rule__Action__Group__8__Impl6290);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3142: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3146:1: ( rule__Action__Group__9__Impl rule__Action__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3147:2: rule__Action__Group__9__Impl rule__Action__Group__10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__96320);
-            rule__Action__Group__9__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10_in_rule__Action__Group__96323);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3154: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3158:1: ( ( 'adaptationActionOperation' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3159:1: ( 'adaptationActionOperation' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3159:1: ( 'adaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3160:1: 'adaptationActionOperation'
-            {
-             before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9()); 
-            match(input,34,FollowSets000.FOLLOW_34_in_rule__Action__Group__9__Impl6351); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3173: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3177:1: ( rule__Action__Group__10__Impl rule__Action__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3178:2: rule__Action__Group__10__Impl rule__Action__Group__11
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__106382);
-            rule__Action__Group__10__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11_in_rule__Action__Group__106385);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3185: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3189:1: ( ( ( rule__Action__AdaptationActionOperationAssignment_10 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3190:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3190:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3191:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
-            {
-             before(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3192:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3192:2: rule__Action__AdaptationActionOperationAssignment_10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl6412);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3202: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3206:1: ( rule__Action__Group__11__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3207:2: rule__Action__Group__11__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__116442);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3213: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3217:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3218:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3218:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3219:1: '}'
-            {
-             before(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Action__Group__11__Impl6470); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3256: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3260: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3261: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__06525);
-            rule__Action__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__1_in_rule__Action__Group_5__06528);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3268: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3272:1: ( ( 'outputParam' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3273:1: ( 'outputParam' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3273:1: ( 'outputParam' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3274:1: 'outputParam'
-            {
-             before(grammarAccess.getActionAccess().getOutputParamKeyword_5_0()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__Action__Group_5__0__Impl6556); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3287: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3291:1: ( rule__Action__Group_5__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3292:2: rule__Action__Group_5__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_5__1__Impl_in_rule__Action__Group_5__16587);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3298: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3302:1: ( ( ( rule__Action__OutputParamAssignment_5_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3303:1: ( ( rule__Action__OutputParamAssignment_5_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3303:1: ( ( rule__Action__OutputParamAssignment_5_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3304: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3305:1: ( rule__Action__OutputParamAssignment_5_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3305:2: rule__Action__OutputParamAssignment_5_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__OutputParamAssignment_5_1_in_rule__Action__Group_5__1__Impl6614);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3319: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3323: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3324: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__06648);
-            rule__Action__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__1_in_rule__Action__Group_6__06651);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3331: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3335:1: ( ( 'inputParams' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3336:1: ( 'inputParams' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3336:1: ( 'inputParams' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3337:1: 'inputParams'
-            {
-             before(grammarAccess.getActionAccess().getInputParamsKeyword_6_0()); 
-            match(input,28,FollowSets000.FOLLOW_28_in_rule__Action__Group_6__0__Impl6679); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3350: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3354: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3355: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__16710);
-            rule__Action__Group_6__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__2_in_rule__Action__Group_6__16713);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3362: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3366:1: ( ( '(' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3367:1: ( '(' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3367:1: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3368:1: '('
-            {
-             before(grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__Action__Group_6__1__Impl6741); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3381: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3385: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3386: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__26772);
-            rule__Action__Group_6__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__3_in_rule__Action__Group_6__26775);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3393: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3397:1: ( ( ( rule__Action__InputParamsAssignment_6_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3398:1: ( ( rule__Action__InputParamsAssignment_6_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3398:1: ( ( rule__Action__InputParamsAssignment_6_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3399: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3400:1: ( rule__Action__InputParamsAssignment_6_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3400:2: rule__Action__InputParamsAssignment_6_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_6_2_in_rule__Action__Group_6__2__Impl6802);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3410: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3414: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3415: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__36832);
-            rule__Action__Group_6__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__4_in_rule__Action__Group_6__36835);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3422: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3426:1: ( ( ( rule__Action__Group_6_3__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3427:1: ( ( rule__Action__Group_6_3__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3427:1: ( ( rule__Action__Group_6_3__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3428: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3429:1: ( rule__Action__Group_6_3__0 )*
-            loop15:
-            do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
-
-                if ( (LA15_0==24) ) {
-                    alt15=1;
-                }
-
-
-                switch (alt15) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3429:2: rule__Action__Group_6_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__0_in_rule__Action__Group_6__3__Impl6862);
-            	    rule__Action__Group_6_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop15;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3439: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3443:1: ( rule__Action__Group_6__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3444:2: rule__Action__Group_6__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6__4__Impl_in_rule__Action__Group_6__46893);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3450: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3454:1: ( ( ')' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3455:1: ( ')' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3455:1: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3456:1: ')'
-            {
-             before(grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__Action__Group_6__4__Impl6921); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3479: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3483: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3484: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__06962);
-            rule__Action__Group_6_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__1_in_rule__Action__Group_6_3__06965);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3491: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3495:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3496:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3496:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3497:1: ','
-            {
-             before(grammarAccess.getActionAccess().getCommaKeyword_6_3_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__Action__Group_6_3__0__Impl6993); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3510: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3514:1: ( rule__Action__Group_6_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3515:2: rule__Action__Group_6_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_6_3__1__Impl_in_rule__Action__Group_6_3__17024);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3521: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3525:1: ( ( ( rule__Action__InputParamsAssignment_6_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3526:1: ( ( rule__Action__InputParamsAssignment_6_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3526:1: ( ( rule__Action__InputParamsAssignment_6_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3527: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3528:1: ( rule__Action__InputParamsAssignment_6_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3528:2: rule__Action__InputParamsAssignment_6_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_6_3_1_in_rule__Action__Group_6_3__1__Impl7051);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3542: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3546:1: ( rule__Strategy__Group__0__Impl rule__Strategy__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3547:2: rule__Strategy__Group__0__Impl rule__Strategy__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__07085);
-            rule__Strategy__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__07088);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3554: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3558:1: ( ( 'Strategy' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3559:1: ( 'Strategy' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3559:1: ( 'Strategy' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3560:1: 'Strategy'
-            {
-             before(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); 
-            match(input,35,FollowSets000.FOLLOW_35_in_rule__Strategy__Group__0__Impl7116); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3573: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3577:1: ( rule__Strategy__Group__1__Impl rule__Strategy__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3578:2: rule__Strategy__Group__1__Impl rule__Strategy__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__17147);
-            rule__Strategy__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__17150);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3585: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3589:1: ( ( ( rule__Strategy__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3590:1: ( ( rule__Strategy__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3590:1: ( ( rule__Strategy__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3591:1: ( rule__Strategy__IdAssignment_1 )
-            {
-             before(grammarAccess.getStrategyAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3592:1: ( rule__Strategy__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3592:2: rule__Strategy__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__IdAssignment_1_in_rule__Strategy__Group__1__Impl7177);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3602: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3606:1: ( rule__Strategy__Group__2__Impl rule__Strategy__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3607:2: rule__Strategy__Group__2__Impl rule__Strategy__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__27207);
-            rule__Strategy__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__27210);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3614: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3618:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3619:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3619:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3620:1: '{'
-            {
-             before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Strategy__Group__2__Impl7238); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3633: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3637:1: ( rule__Strategy__Group__3__Impl rule__Strategy__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3638:2: rule__Strategy__Group__3__Impl rule__Strategy__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__37269);
-            rule__Strategy__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__37272);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3645: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3649:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3650:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3650:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3651:1: 'name'
-            {
-             before(grammarAccess.getStrategyAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__Strategy__Group__3__Impl7300); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3664: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3668:1: ( rule__Strategy__Group__4__Impl rule__Strategy__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3669:2: rule__Strategy__Group__4__Impl rule__Strategy__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__47331);
-            rule__Strategy__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__47334);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3676: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3680:1: ( ( ( rule__Strategy__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3681:1: ( ( rule__Strategy__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3681:1: ( ( rule__Strategy__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3682:1: ( rule__Strategy__NameAssignment_4 )
-            {
-             before(grammarAccess.getStrategyAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3683:1: ( rule__Strategy__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3683:2: rule__Strategy__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__NameAssignment_4_in_rule__Strategy__Group__4__Impl7361);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3693: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3697:1: ( rule__Strategy__Group__5__Impl rule__Strategy__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3698:2: rule__Strategy__Group__5__Impl rule__Strategy__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__57391);
-            rule__Strategy__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__57394);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3705: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3709:1: ( ( 'objective' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3710:1: ( 'objective' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3710:1: ( 'objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3711:1: 'objective'
-            {
-             before(grammarAccess.getStrategyAccess().getObjectiveKeyword_5()); 
-            match(input,36,FollowSets000.FOLLOW_36_in_rule__Strategy__Group__5__Impl7422); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3724: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3728:1: ( rule__Strategy__Group__6__Impl rule__Strategy__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3729:2: rule__Strategy__Group__6__Impl rule__Strategy__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__67453);
-            rule__Strategy__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__67456);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3736: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3740:1: ( ( ( rule__Strategy__ObjectiveAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3741:1: ( ( rule__Strategy__ObjectiveAssignment_6 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3741:1: ( ( rule__Strategy__ObjectiveAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3742:1: ( rule__Strategy__ObjectiveAssignment_6 )
-            {
-             before(grammarAccess.getStrategyAccess().getObjectiveAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3743:1: ( rule__Strategy__ObjectiveAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3743:2: rule__Strategy__ObjectiveAssignment_6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__ObjectiveAssignment_6_in_rule__Strategy__Group__6__Impl7483);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3753: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3757:1: ( rule__Strategy__Group__7__Impl rule__Strategy__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3758:2: rule__Strategy__Group__7__Impl rule__Strategy__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__77513);
-            rule__Strategy__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__77516);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3765: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3769:1: ( ( 'triggeringEvents' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3770:1: ( 'triggeringEvents' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3770:1: ( 'triggeringEvents' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3771:1: 'triggeringEvents'
-            {
-             before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7()); 
-            match(input,37,FollowSets000.FOLLOW_37_in_rule__Strategy__Group__7__Impl7544); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3784: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3788:1: ( rule__Strategy__Group__8__Impl rule__Strategy__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3789:2: rule__Strategy__Group__8__Impl rule__Strategy__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__87575);
-            rule__Strategy__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__87578);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3796: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3800:1: ( ( ( rule__Strategy__TriggeringEventsAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3801:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3801:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3802:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
-            {
-             before(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3803:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3803:2: rule__Strategy__TriggeringEventsAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl7605);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3813: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3817:1: ( rule__Strategy__Group__9__Impl rule__Strategy__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3818:2: rule__Strategy__Group__9__Impl rule__Strategy__Group__10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__97635);
-            rule__Strategy__Group__9__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__97638);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3825: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3829:1: ( ( 'tactics' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3830:1: ( 'tactics' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3830:1: ( 'tactics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3831:1: 'tactics'
-            {
-             before(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); 
-            match(input,19,FollowSets000.FOLLOW_19_in_rule__Strategy__Group__9__Impl7666); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3844: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3848:1: ( rule__Strategy__Group__10__Impl rule__Strategy__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3849:2: rule__Strategy__Group__10__Impl rule__Strategy__Group__11
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__107697);
-            rule__Strategy__Group__10__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__107700);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3856: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3860:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3861:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3861:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3862:1: '{'
-            {
-             before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Strategy__Group__10__Impl7728); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3875: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3879:1: ( rule__Strategy__Group__11__Impl rule__Strategy__Group__12 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3880:2: rule__Strategy__Group__11__Impl rule__Strategy__Group__12
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__117759);
-            rule__Strategy__Group__11__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__117762);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3887: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3891:1: ( ( ( rule__Strategy__TacticsAssignment_11 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3892:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3892:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3893:1: ( rule__Strategy__TacticsAssignment_11 )
-            {
-             before(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3894:1: ( rule__Strategy__TacticsAssignment_11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3894:2: rule__Strategy__TacticsAssignment_11
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl7789);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3904: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3908:1: ( rule__Strategy__Group__12__Impl rule__Strategy__Group__13 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3909:2: rule__Strategy__Group__12__Impl rule__Strategy__Group__13
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__127819);
-            rule__Strategy__Group__12__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__127822);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3916: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3920:1: ( ( ( rule__Strategy__Group_12__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3921:1: ( ( rule__Strategy__Group_12__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3921:1: ( ( rule__Strategy__Group_12__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3922: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3923:1: ( rule__Strategy__Group_12__0 )*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-
-                if ( (LA16_0==24) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3923:2: rule__Strategy__Group_12__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl7849);
-            	    rule__Strategy__Group_12__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3933: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3937:1: ( rule__Strategy__Group__13__Impl rule__Strategy__Group__14 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3938:2: rule__Strategy__Group__13__Impl rule__Strategy__Group__14
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__137880);
-            rule__Strategy__Group__13__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__137883);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3945: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3949:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3950:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3950:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3951:1: '}'
-            {
-             before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Strategy__Group__13__Impl7911); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3964: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3968:1: ( rule__Strategy__Group__14__Impl rule__Strategy__Group__15 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3969:2: rule__Strategy__Group__14__Impl rule__Strategy__Group__15
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__147942);
-            rule__Strategy__Group__14__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__147945);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3976: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3980:1: ( ( 'weightingFunction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3981:1: ( 'weightingFunction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3981:1: ( 'weightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3982:1: 'weightingFunction'
-            {
-             before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14()); 
-            match(input,38,FollowSets000.FOLLOW_38_in_rule__Strategy__Group__14__Impl7973); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3995: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3999:1: ( rule__Strategy__Group__15__Impl rule__Strategy__Group__16 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4000:2: rule__Strategy__Group__15__Impl rule__Strategy__Group__16
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__158004);
-            rule__Strategy__Group__15__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__158007);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4007: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4011:1: ( ( ( rule__Strategy__WeightingFunctionAssignment_15 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4012:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4012:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4013:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
-            {
-             before(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4014:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4014:2: rule__Strategy__WeightingFunctionAssignment_15
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl8034);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4024: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4028:1: ( rule__Strategy__Group__16__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4029:2: rule__Strategy__Group__16__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__168064);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4035: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4039:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4040:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4040:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4041:1: '}'
-            {
-             before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Strategy__Group__16__Impl8092); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4088: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4092: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4093: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__08157);
-            rule__Strategy__Group_12__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__08160);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4100: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4104:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4105:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4105:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4106:1: ','
-            {
-             before(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__Strategy__Group_12__0__Impl8188); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4119: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4123:1: ( rule__Strategy__Group_12__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4124:2: rule__Strategy__Group_12__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__18219);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4130: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4134:1: ( ( ( rule__Strategy__TacticsAssignment_12_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4135:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4135:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4136: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4137:1: ( rule__Strategy__TacticsAssignment_12_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4137:2: rule__Strategy__TacticsAssignment_12_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl8246);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4151: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4155:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4156:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08280);
-            rule__Parameter__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08283);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4163: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4167:1: ( ( 'Parameter' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4168:1: ( 'Parameter' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4168:1: ( 'Parameter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4169:1: 'Parameter'
-            {
-             before(grammarAccess.getParameterAccess().getParameterKeyword_0()); 
-            match(input,39,FollowSets000.FOLLOW_39_in_rule__Parameter__Group__0__Impl8311); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4182: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4186:1: ( rule__Parameter__Group__1__Impl rule__Parameter__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4187:2: rule__Parameter__Group__1__Impl rule__Parameter__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18342);
-            rule__Parameter__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__2_in_rule__Parameter__Group__18345);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4194: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4198:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4199:1: ( ( rule__Parameter__NameAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4199:1: ( ( rule__Parameter__NameAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4200:1: ( rule__Parameter__NameAssignment_1 )
-            {
-             before(grammarAccess.getParameterAccess().getNameAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4201:1: ( rule__Parameter__NameAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4201:2: rule__Parameter__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8372);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4211: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4215:1: ( rule__Parameter__Group__2__Impl rule__Parameter__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4216:2: rule__Parameter__Group__2__Impl rule__Parameter__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__2__Impl_in_rule__Parameter__Group__28402);
-            rule__Parameter__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__3_in_rule__Parameter__Group__28405);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4223: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4227:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4228:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4228:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4229:1: '{'
-            {
-             before(grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Parameter__Group__2__Impl8433); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4242: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4246:1: ( rule__Parameter__Group__3__Impl rule__Parameter__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4247:2: rule__Parameter__Group__3__Impl rule__Parameter__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__3__Impl_in_rule__Parameter__Group__38464);
-            rule__Parameter__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__4_in_rule__Parameter__Group__38467);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4254: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4258:1: ( ( 'type' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4259:1: ( 'type' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4259:1: ( 'type' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4260:1: 'type'
-            {
-             before(grammarAccess.getParameterAccess().getTypeKeyword_3()); 
-            match(input,40,FollowSets000.FOLLOW_40_in_rule__Parameter__Group__3__Impl8495); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4273: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4277:1: ( rule__Parameter__Group__4__Impl rule__Parameter__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4278:2: rule__Parameter__Group__4__Impl rule__Parameter__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__4__Impl_in_rule__Parameter__Group__48526);
-            rule__Parameter__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__5_in_rule__Parameter__Group__48529);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4285: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4289:1: ( ( ( rule__Parameter__TypeAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4290:1: ( ( rule__Parameter__TypeAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4290:1: ( ( rule__Parameter__TypeAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4291:1: ( rule__Parameter__TypeAssignment_4 )
-            {
-             before(grammarAccess.getParameterAccess().getTypeAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4292:1: ( rule__Parameter__TypeAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4292:2: rule__Parameter__TypeAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__TypeAssignment_4_in_rule__Parameter__Group__4__Impl8556);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4302:1: rule__Parameter__Group__5 : rule__Parameter__Group__5__Impl ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4306:1: ( rule__Parameter__Group__5__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4307:2: rule__Parameter__Group__5__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__5__Impl_in_rule__Parameter__Group__58586);
-            rule__Parameter__Group__5__Impl();
-
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4313:1: rule__Parameter__Group__5__Impl : ( '}' ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4317:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4318:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4318:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4319:1: '}'
-            {
-             before(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Parameter__Group__5__Impl8614); 
-             after(grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Parameter__Group__5__Impl"
-
-
-    // $ANTLR start "rule__OverallGoal__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4344: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4348:1: ( rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4349:2: rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__08657);
-            rule__OverallGoal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__08660);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4356: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4360:1: ( ( 'OverallGoal' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4361:1: ( 'OverallGoal' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4361:1: ( 'OverallGoal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4362:1: 'OverallGoal'
-            {
-             before(grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0()); 
-            match(input,41,FollowSets000.FOLLOW_41_in_rule__OverallGoal__Group__0__Impl8688); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4375: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4379:1: ( rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4380:2: rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__18719);
-            rule__OverallGoal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__18722);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4387: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4391:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4392:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4392:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4393:1: '{'
-            {
-             before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__OverallGoal__Group__1__Impl8750); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4406: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4410:1: ( rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4411:2: rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__28781);
-            rule__OverallGoal__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__28784);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4418: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4422:1: ( ( 'description' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4423:1: ( 'description' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4423:1: ( 'description' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4424:1: 'description'
-            {
-             before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2()); 
-            match(input,42,FollowSets000.FOLLOW_42_in_rule__OverallGoal__Group__2__Impl8812); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4437: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4441:1: ( rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4442:2: rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__38843);
-            rule__OverallGoal__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__38846);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4449: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4453:1: ( ( ( rule__OverallGoal__DescriptionAssignment_3 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4454:1: ( ( rule__OverallGoal__DescriptionAssignment_3 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4454:1: ( ( rule__OverallGoal__DescriptionAssignment_3 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4455:1: ( rule__OverallGoal__DescriptionAssignment_3 )
-            {
-             before(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4456:1: ( rule__OverallGoal__DescriptionAssignment_3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4456:2: rule__OverallGoal__DescriptionAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__DescriptionAssignment_3_in_rule__OverallGoal__Group__3__Impl8873);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4466: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4470:1: ( rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4471:2: rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__48903);
-            rule__OverallGoal__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__48906);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4478: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4482:1: ( ( 'objectives' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4483:1: ( 'objectives' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4483:1: ( 'objectives' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4484:1: 'objectives'
-            {
-             before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4()); 
-            match(input,43,FollowSets000.FOLLOW_43_in_rule__OverallGoal__Group__4__Impl8934); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4497: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4501:1: ( rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4502:2: rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__58965);
-            rule__OverallGoal__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__58968);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4509: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4513:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4514:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4514:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4515:1: '{'
-            {
-             before(grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__OverallGoal__Group__5__Impl8996); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4528: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4532:1: ( rule__OverallGoal__Group__6__Impl rule__OverallGoal__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4533:2: rule__OverallGoal__Group__6__Impl rule__OverallGoal__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__69027);
-            rule__OverallGoal__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__7_in_rule__OverallGoal__Group__69030);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4540: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4544:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4545:1: ( ( rule__OverallGoal__ObjectivesAssignment_6 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4545:1: ( ( rule__OverallGoal__ObjectivesAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4546:1: ( rule__OverallGoal__ObjectivesAssignment_6 )
-            {
-             before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4547:1: ( rule__OverallGoal__ObjectivesAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4547:2: rule__OverallGoal__ObjectivesAssignment_6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_in_rule__OverallGoal__Group__6__Impl9057);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4557: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4561:1: ( rule__OverallGoal__Group__7__Impl rule__OverallGoal__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4562:2: rule__OverallGoal__Group__7__Impl rule__OverallGoal__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__7__Impl_in_rule__OverallGoal__Group__79087);
-            rule__OverallGoal__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__8_in_rule__OverallGoal__Group__79090);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4569: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4573:1: ( ( ( rule__OverallGoal__Group_7__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4574:1: ( ( rule__OverallGoal__Group_7__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4574:1: ( ( rule__OverallGoal__Group_7__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4575: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4576:1: ( rule__OverallGoal__Group_7__0 )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( (LA17_0==24) ) {
-                    alt17=1;
-                }
-
-
-                switch (alt17) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4576:2: rule__OverallGoal__Group_7__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__0_in_rule__OverallGoal__Group__7__Impl9117);
-            	    rule__OverallGoal__Group_7__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop17;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4586: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4590:1: ( rule__OverallGoal__Group__8__Impl rule__OverallGoal__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4591:2: rule__OverallGoal__Group__8__Impl rule__OverallGoal__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__8__Impl_in_rule__OverallGoal__Group__89148);
-            rule__OverallGoal__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__9_in_rule__OverallGoal__Group__89151);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4598: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4602:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4603:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4603:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4604:1: '}'
-            {
-             before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__OverallGoal__Group__8__Impl9179); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4617: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4621:1: ( rule__OverallGoal__Group__9__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4622:2: rule__OverallGoal__Group__9__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__9__Impl_in_rule__OverallGoal__Group__99210);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4628: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4632:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4633:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4633:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4634:1: '}'
-            {
-             before(grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__OverallGoal__Group__9__Impl9238); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4667: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4671: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4672: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__09289);
-            rule__OverallGoal__Group_7__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__1_in_rule__OverallGoal__Group_7__09292);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4679: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4683:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4684:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4684:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4685:1: ','
-            {
-             before(grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__OverallGoal__Group_7__0__Impl9320); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4698: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4702:1: ( rule__OverallGoal__Group_7__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4703:2: rule__OverallGoal__Group_7__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_7__1__Impl_in_rule__OverallGoal__Group_7__19351);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4709: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4713:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4714:1: ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4714:1: ( ( rule__OverallGoal__ObjectivesAssignment_7_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4715: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4716:1: ( rule__OverallGoal__ObjectivesAssignment_7_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4716:2: rule__OverallGoal__ObjectivesAssignment_7_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_7_1_in_rule__OverallGoal__Group_7__1__Impl9378);
-            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__AdaptationPlan__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4730: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4734:1: ( rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4735:2: rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__09412);
-            rule__AdaptationPlan__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__09415);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4742: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4746:1: ( ( 'AdaptationPlan' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4747:1: ( 'AdaptationPlan' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4747:1: ( 'AdaptationPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4748:1: 'AdaptationPlan'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0()); 
-            match(input,44,FollowSets000.FOLLOW_44_in_rule__AdaptationPlan__Group__0__Impl9443); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4761: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4765:1: ( rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4766:2: rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__19474);
-            rule__AdaptationPlan__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__19477);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4773: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4777:1: ( ( ( rule__AdaptationPlan__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4778:1: ( ( rule__AdaptationPlan__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4778:1: ( ( rule__AdaptationPlan__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4779:1: ( rule__AdaptationPlan__IdAssignment_1 )
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4780:1: ( rule__AdaptationPlan__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4780:2: rule__AdaptationPlan__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__IdAssignment_1_in_rule__AdaptationPlan__Group__1__Impl9504);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4790: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4794:1: ( rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4795:2: rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__29534);
-            rule__AdaptationPlan__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__29537);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4802: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4806:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4807:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4807:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4808:1: '{'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationPlan__Group__2__Impl9565); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4821: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4825:1: ( rule__AdaptationPlan__Group__3__Impl rule__AdaptationPlan__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4826:2: rule__AdaptationPlan__Group__3__Impl rule__AdaptationPlan__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__39596);
-            rule__AdaptationPlan__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__4_in_rule__AdaptationPlan__Group__39599);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4833: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4837:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4838:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4838:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4839:1: 'name'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__AdaptationPlan__Group__3__Impl9627); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4852: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4856:1: ( rule__AdaptationPlan__Group__4__Impl rule__AdaptationPlan__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4857:2: rule__AdaptationPlan__Group__4__Impl rule__AdaptationPlan__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__4__Impl_in_rule__AdaptationPlan__Group__49658);
-            rule__AdaptationPlan__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__5_in_rule__AdaptationPlan__Group__49661);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4864: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4868:1: ( ( ( rule__AdaptationPlan__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4869:1: ( ( rule__AdaptationPlan__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4869:1: ( ( rule__AdaptationPlan__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4870:1: ( rule__AdaptationPlan__NameAssignment_4 )
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4871:1: ( rule__AdaptationPlan__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4871:2: rule__AdaptationPlan__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__NameAssignment_4_in_rule__AdaptationPlan__Group__4__Impl9688);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4881: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4885:1: ( rule__AdaptationPlan__Group__5__Impl rule__AdaptationPlan__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4886:2: rule__AdaptationPlan__Group__5__Impl rule__AdaptationPlan__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__5__Impl_in_rule__AdaptationPlan__Group__59718);
-            rule__AdaptationPlan__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__6_in_rule__AdaptationPlan__Group__59721);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4893: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4897:1: ( ( ( rule__AdaptationPlan__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4898:1: ( ( rule__AdaptationPlan__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4898:1: ( ( rule__AdaptationPlan__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4899: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4900:1: ( rule__AdaptationPlan__Group_5__0 )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==45) ) {
-                alt18=1;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4900:2: rule__AdaptationPlan__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__0_in_rule__AdaptationPlan__Group__5__Impl9748);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4910: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4914:1: ( rule__AdaptationPlan__Group__6__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4915:2: rule__AdaptationPlan__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__6__Impl_in_rule__AdaptationPlan__Group__69779);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4921: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4925:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4926:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4926:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4927:1: '}'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationPlan__Group__6__Impl9807); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4954: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4958: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4959: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__09852);
-            rule__AdaptationPlan__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__1_in_rule__AdaptationPlan__Group_5__09855);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4966: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4970:1: ( ( 'steps' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4971:1: ( 'steps' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4971:1: ( 'steps' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4972:1: 'steps'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__AdaptationPlan__Group_5__0__Impl9883); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4985: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4989: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4990: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__19914);
-            rule__AdaptationPlan__Group_5__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__2_in_rule__AdaptationPlan__Group_5__19917);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4997: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5001:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5002:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5002:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5003:1: '{'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationPlan__Group_5__1__Impl9945); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5016: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5020: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5021: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__29976);
-            rule__AdaptationPlan__Group_5__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__3_in_rule__AdaptationPlan__Group_5__29979);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5028: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5032:1: ( ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5033:1: ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5033:1: ( ( rule__AdaptationPlan__StepsAssignment_5_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5034: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5035:1: ( rule__AdaptationPlan__StepsAssignment_5_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5035:2: rule__AdaptationPlan__StepsAssignment_5_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_5_2_in_rule__AdaptationPlan__Group_5__2__Impl10006);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5045: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5049: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5050: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__310036);
-            rule__AdaptationPlan__Group_5__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__4_in_rule__AdaptationPlan__Group_5__310039);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5057: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5061:1: ( ( ( rule__AdaptationPlan__Group_5_3__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5062:1: ( ( rule__AdaptationPlan__Group_5_3__0 )* )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5062:1: ( ( rule__AdaptationPlan__Group_5_3__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5063: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5064:1: ( rule__AdaptationPlan__Group_5_3__0 )*
-            loop19:
-            do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
-
-                if ( (LA19_0==24) ) {
-                    alt19=1;
-                }
-
-
-                switch (alt19) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5064:2: rule__AdaptationPlan__Group_5_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__0_in_rule__AdaptationPlan__Group_5__3__Impl10066);
-            	    rule__AdaptationPlan__Group_5_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop19;
-                }
-            } 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5074: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5078:1: ( rule__AdaptationPlan__Group_5__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5079:2: rule__AdaptationPlan__Group_5__4__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5__4__Impl_in_rule__AdaptationPlan__Group_5__410097);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5085: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5089:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5090:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5090:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5091:1: '}'
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationPlan__Group_5__4__Impl10125); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5114: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5118: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5119: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__010166);
-            rule__AdaptationPlan__Group_5_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__1_in_rule__AdaptationPlan__Group_5_3__010169);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5126: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5130:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5131:1: ( ',' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5131:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5132:1: ','
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationPlan__Group_5_3__0__Impl10197); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5145: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5149:1: ( rule__AdaptationPlan__Group_5_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5150:2: rule__AdaptationPlan__Group_5_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_5_3__1__Impl_in_rule__AdaptationPlan__Group_5_3__110228);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5156: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5160:1: ( ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5161:1: ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5161:1: ( ( rule__AdaptationPlan__StepsAssignment_5_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5162: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5163:1: ( rule__AdaptationPlan__StepsAssignment_5_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5163:2: rule__AdaptationPlan__StepsAssignment_5_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_5_3_1_in_rule__AdaptationPlan__Group_5_3__1__Impl10255);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5177: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5181:1: ( rule__StartAction__Group__0__Impl rule__StartAction__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5182:2: rule__StartAction__Group__0__Impl rule__StartAction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__010289);
-            rule__StartAction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__010292);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5189: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5193:1: ( ( () ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5194:1: ( () )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5194:1: ( () )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5195:1: ()
-            {
-             before(grammarAccess.getStartActionAccess().getStartActionAction_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5196:1: ()
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5198: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5208: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5212:1: ( rule__StartAction__Group__1__Impl rule__StartAction__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5213:2: rule__StartAction__Group__1__Impl rule__StartAction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__110350);
-            rule__StartAction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__2_in_rule__StartAction__Group__110353);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5220: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5224:1: ( ( 'StartAction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5225:1: ( 'StartAction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5225:1: ( 'StartAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5226:1: 'StartAction'
-            {
-             before(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); 
-            match(input,46,FollowSets000.FOLLOW_46_in_rule__StartAction__Group__1__Impl10381); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5239: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5243:1: ( rule__StartAction__Group__2__Impl rule__StartAction__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5244:2: rule__StartAction__Group__2__Impl rule__StartAction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__2__Impl_in_rule__StartAction__Group__210412);
-            rule__StartAction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__3_in_rule__StartAction__Group__210415);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5251: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5255:1: ( ( ( rule__StartAction__IdAssignment_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5256:1: ( ( rule__StartAction__IdAssignment_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5256:1: ( ( rule__StartAction__IdAssignment_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5257:1: ( rule__StartAction__IdAssignment_2 )
-            {
-             before(grammarAccess.getStartActionAccess().getIdAssignment_2()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5258:1: ( rule__StartAction__IdAssignment_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5258:2: rule__StartAction__IdAssignment_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__IdAssignment_2_in_rule__StartAction__Group__2__Impl10442);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5268: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5272:1: ( rule__StartAction__Group__3__Impl rule__StartAction__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5273:2: rule__StartAction__Group__3__Impl rule__StartAction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__3__Impl_in_rule__StartAction__Group__310472);
-            rule__StartAction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__4_in_rule__StartAction__Group__310475);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5280: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5284:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5285:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5285:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5286:1: '{'
-            {
-             before(grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__StartAction__Group__3__Impl10503); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5299: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5303:1: ( rule__StartAction__Group__4__Impl rule__StartAction__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5304:2: rule__StartAction__Group__4__Impl rule__StartAction__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__4__Impl_in_rule__StartAction__Group__410534);
-            rule__StartAction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__5_in_rule__StartAction__Group__410537);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5311: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5315:1: ( ( ( rule__StartAction__Group_4__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5316:1: ( ( rule__StartAction__Group_4__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5316:1: ( ( rule__StartAction__Group_4__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5317: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5318:1: ( rule__StartAction__Group_4__0 )?
-            int alt20=2;
-            int LA20_0 = input.LA(1);
-
-            if ( (LA20_0==47) ) {
-                alt20=1;
-            }
-            switch (alt20) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5318:2: rule__StartAction__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__0_in_rule__StartAction__Group__4__Impl10564);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5328: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5332:1: ( rule__StartAction__Group__5__Impl rule__StartAction__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5333:2: rule__StartAction__Group__5__Impl rule__StartAction__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__5__Impl_in_rule__StartAction__Group__510595);
-            rule__StartAction__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__6_in_rule__StartAction__Group__510598);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5340: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5344:1: ( ( ( rule__StartAction__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5345:1: ( ( rule__StartAction__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5345:1: ( ( rule__StartAction__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5346: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5347:1: ( rule__StartAction__Group_5__0 )?
-            int alt21=2;
-            int LA21_0 = input.LA(1);
-
-            if ( (LA21_0==48) ) {
-                alt21=1;
-            }
-            switch (alt21) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5347:2: rule__StartAction__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__0_in_rule__StartAction__Group__5__Impl10625);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5357: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5361:1: ( rule__StartAction__Group__6__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5362:2: rule__StartAction__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__6__Impl_in_rule__StartAction__Group__610656);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5368: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5372:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5373:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5373:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5374:1: '}'
-            {
-             before(grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__StartAction__Group__6__Impl10684); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5401: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5405: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5406: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__010729);
-            rule__StartAction__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__1_in_rule__StartAction__Group_4__010732);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5413: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5417:1: ( ( 'predecessor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5418:1: ( 'predecessor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5418:1: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5419:1: 'predecessor'
-            {
-             before(grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__StartAction__Group_4__0__Impl10760); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5432: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5436:1: ( rule__StartAction__Group_4__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5437:2: rule__StartAction__Group_4__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_4__1__Impl_in_rule__StartAction__Group_4__110791);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5443: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5447:1: ( ( ( rule__StartAction__PredecessorAssignment_4_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5448:1: ( ( rule__StartAction__PredecessorAssignment_4_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5448:1: ( ( rule__StartAction__PredecessorAssignment_4_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5449: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5450:1: ( rule__StartAction__PredecessorAssignment_4_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5450:2: rule__StartAction__PredecessorAssignment_4_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__PredecessorAssignment_4_1_in_rule__StartAction__Group_4__1__Impl10818);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5464: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5468: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5469: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__010852);
-            rule__StartAction__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__1_in_rule__StartAction__Group_5__010855);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5476: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5480:1: ( ( 'successor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5481:1: ( 'successor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5481:1: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5482:1: 'successor'
-            {
-             before(grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__StartAction__Group_5__0__Impl10883); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5495: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5499:1: ( rule__StartAction__Group_5__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5500:2: rule__StartAction__Group_5__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group_5__1__Impl_in_rule__StartAction__Group_5__110914);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5506: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5510:1: ( ( ( rule__StartAction__SuccessorAssignment_5_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5511:1: ( ( rule__StartAction__SuccessorAssignment_5_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5511:1: ( ( rule__StartAction__SuccessorAssignment_5_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5512: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5513:1: ( rule__StartAction__SuccessorAssignment_5_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5513:2: rule__StartAction__SuccessorAssignment_5_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StartAction__SuccessorAssignment_5_1_in_rule__StartAction__Group_5__1__Impl10941);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5527: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5531:1: ( rule__StopAction__Group__0__Impl rule__StopAction__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5532:2: rule__StopAction__Group__0__Impl rule__StopAction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__0__Impl_in_rule__StopAction__Group__010975);
-            rule__StopAction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__1_in_rule__StopAction__Group__010978);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5539: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5543:1: ( ( () ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5544:1: ( () )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5544:1: ( () )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5545:1: ()
-            {
-             before(grammarAccess.getStopActionAccess().getStopActionAction_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5546:1: ()
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5548: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5558: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5562:1: ( rule__StopAction__Group__1__Impl rule__StopAction__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5563:2: rule__StopAction__Group__1__Impl rule__StopAction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__1__Impl_in_rule__StopAction__Group__111036);
-            rule__StopAction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__2_in_rule__StopAction__Group__111039);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5570: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5574:1: ( ( 'StopAction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5575:1: ( 'StopAction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5575:1: ( 'StopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5576:1: 'StopAction'
-            {
-             before(grammarAccess.getStopActionAccess().getStopActionKeyword_1()); 
-            match(input,49,FollowSets000.FOLLOW_49_in_rule__StopAction__Group__1__Impl11067); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5589: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5593:1: ( rule__StopAction__Group__2__Impl rule__StopAction__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5594:2: rule__StopAction__Group__2__Impl rule__StopAction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__2__Impl_in_rule__StopAction__Group__211098);
-            rule__StopAction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__3_in_rule__StopAction__Group__211101);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5601: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5605:1: ( ( ( rule__StopAction__IdAssignment_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5606:1: ( ( rule__StopAction__IdAssignment_2 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5606:1: ( ( rule__StopAction__IdAssignment_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5607:1: ( rule__StopAction__IdAssignment_2 )
-            {
-             before(grammarAccess.getStopActionAccess().getIdAssignment_2()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5608:1: ( rule__StopAction__IdAssignment_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5608:2: rule__StopAction__IdAssignment_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__IdAssignment_2_in_rule__StopAction__Group__2__Impl11128);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5618: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5622:1: ( rule__StopAction__Group__3__Impl rule__StopAction__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5623:2: rule__StopAction__Group__3__Impl rule__StopAction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__3__Impl_in_rule__StopAction__Group__311158);
-            rule__StopAction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__4_in_rule__StopAction__Group__311161);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5630: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5634:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5635:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5635:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5636:1: '{'
-            {
-             before(grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__StopAction__Group__3__Impl11189); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5649: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5653:1: ( rule__StopAction__Group__4__Impl rule__StopAction__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5654:2: rule__StopAction__Group__4__Impl rule__StopAction__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__4__Impl_in_rule__StopAction__Group__411220);
-            rule__StopAction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__5_in_rule__StopAction__Group__411223);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5661: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5665:1: ( ( ( rule__StopAction__Group_4__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5666:1: ( ( rule__StopAction__Group_4__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5666:1: ( ( rule__StopAction__Group_4__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5667: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5668:1: ( rule__StopAction__Group_4__0 )?
-            int alt22=2;
-            int LA22_0 = input.LA(1);
-
-            if ( (LA22_0==47) ) {
-                alt22=1;
-            }
-            switch (alt22) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5668:2: rule__StopAction__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__0_in_rule__StopAction__Group__4__Impl11250);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5678: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5682:1: ( rule__StopAction__Group__5__Impl rule__StopAction__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5683:2: rule__StopAction__Group__5__Impl rule__StopAction__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__5__Impl_in_rule__StopAction__Group__511281);
-            rule__StopAction__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__6_in_rule__StopAction__Group__511284);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5690: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5694:1: ( ( ( rule__StopAction__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5695:1: ( ( rule__StopAction__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5695:1: ( ( rule__StopAction__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5696: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5697:1: ( rule__StopAction__Group_5__0 )?
-            int alt23=2;
-            int LA23_0 = input.LA(1);
-
-            if ( (LA23_0==48) ) {
-                alt23=1;
-            }
-            switch (alt23) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5697:2: rule__StopAction__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__0_in_rule__StopAction__Group__5__Impl11311);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5707: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5711:1: ( rule__StopAction__Group__6__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5712:2: rule__StopAction__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group__6__Impl_in_rule__StopAction__Group__611342);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5718: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5722:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5723:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5723:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5724:1: '}'
-            {
-             before(grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__StopAction__Group__6__Impl11370); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5751: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5755: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5756: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__011415);
-            rule__StopAction__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__1_in_rule__StopAction__Group_4__011418);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5763: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5767:1: ( ( 'predecessor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5768:1: ( 'predecessor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5768:1: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5769:1: 'predecessor'
-            {
-             before(grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__StopAction__Group_4__0__Impl11446); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5782: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5786:1: ( rule__StopAction__Group_4__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5787:2: rule__StopAction__Group_4__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_4__1__Impl_in_rule__StopAction__Group_4__111477);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5793: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5797:1: ( ( ( rule__StopAction__PredecessorAssignment_4_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5798:1: ( ( rule__StopAction__PredecessorAssignment_4_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5798:1: ( ( rule__StopAction__PredecessorAssignment_4_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5799: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5800:1: ( rule__StopAction__PredecessorAssignment_4_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5800:2: rule__StopAction__PredecessorAssignment_4_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__PredecessorAssignment_4_1_in_rule__StopAction__Group_4__1__Impl11504);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5814: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5818: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5819: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__011538);
-            rule__StopAction__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__1_in_rule__StopAction__Group_5__011541);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5826: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5830:1: ( ( 'successor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5831:1: ( 'successor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5831:1: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5832:1: 'successor'
-            {
-             before(grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__StopAction__Group_5__0__Impl11569); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5845: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5849:1: ( rule__StopAction__Group_5__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5850:2: rule__StopAction__Group_5__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__Group_5__1__Impl_in_rule__StopAction__Group_5__111600);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5856: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5860:1: ( ( ( rule__StopAction__SuccessorAssignment_5_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5861:1: ( ( rule__StopAction__SuccessorAssignment_5_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5861:1: ( ( rule__StopAction__SuccessorAssignment_5_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5862: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5863:1: ( rule__StopAction__SuccessorAssignment_5_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5863:2: rule__StopAction__SuccessorAssignment_5_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__StopAction__SuccessorAssignment_5_1_in_rule__StopAction__Group_5__1__Impl11627);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5877: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5881:1: ( rule__LoopAction__Group__0__Impl rule__LoopAction__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5882:2: rule__LoopAction__Group__0__Impl rule__LoopAction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__0__Impl_in_rule__LoopAction__Group__011661);
-            rule__LoopAction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__1_in_rule__LoopAction__Group__011664);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5889: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5893:1: ( ( 'LoopAction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5894:1: ( 'LoopAction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5894:1: ( 'LoopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5895:1: 'LoopAction'
-            {
-             before(grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); 
-            match(input,50,FollowSets000.FOLLOW_50_in_rule__LoopAction__Group__0__Impl11692); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5908: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5912:1: ( rule__LoopAction__Group__1__Impl rule__LoopAction__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5913:2: rule__LoopAction__Group__1__Impl rule__LoopAction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__1__Impl_in_rule__LoopAction__Group__111723);
-            rule__LoopAction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__2_in_rule__LoopAction__Group__111726);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5920: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5924:1: ( ( ( rule__LoopAction__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5925:1: ( ( rule__LoopAction__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5925:1: ( ( rule__LoopAction__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5926:1: ( rule__LoopAction__IdAssignment_1 )
-            {
-             before(grammarAccess.getLoopActionAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5927:1: ( rule__LoopAction__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5927:2: rule__LoopAction__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__IdAssignment_1_in_rule__LoopAction__Group__1__Impl11753);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5937: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5941:1: ( rule__LoopAction__Group__2__Impl rule__LoopAction__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5942:2: rule__LoopAction__Group__2__Impl rule__LoopAction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__2__Impl_in_rule__LoopAction__Group__211783);
-            rule__LoopAction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__3_in_rule__LoopAction__Group__211786);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5949: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5953:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5954:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5954:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5955:1: '{'
-            {
-             before(grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__LoopAction__Group__2__Impl11814); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5968: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5972:1: ( rule__LoopAction__Group__3__Impl rule__LoopAction__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5973:2: rule__LoopAction__Group__3__Impl rule__LoopAction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__3__Impl_in_rule__LoopAction__Group__311845);
-            rule__LoopAction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__4_in_rule__LoopAction__Group__311848);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5980:1: rule__LoopAction__Group__3__Impl : ( 'counter' ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5984:1: ( ( 'counter' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5985:1: ( 'counter' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5985:1: ( 'counter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5986:1: 'counter'
-            {
-             before(grammarAccess.getLoopActionAccess().getCounterKeyword_3()); 
-            match(input,51,FollowSets000.FOLLOW_51_in_rule__LoopAction__Group__3__Impl11876); 
-             after(grammarAccess.getLoopActionAccess().getCounterKeyword_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5999: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6003:1: ( rule__LoopAction__Group__4__Impl rule__LoopAction__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6004:2: rule__LoopAction__Group__4__Impl rule__LoopAction__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__4__Impl_in_rule__LoopAction__Group__411907);
-            rule__LoopAction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__5_in_rule__LoopAction__Group__411910);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6011:1: rule__LoopAction__Group__4__Impl : ( ( rule__LoopAction__CounterAssignment_4 ) ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6015:1: ( ( ( rule__LoopAction__CounterAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6016:1: ( ( rule__LoopAction__CounterAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6016:1: ( ( rule__LoopAction__CounterAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6017:1: ( rule__LoopAction__CounterAssignment_4 )
-            {
-             before(grammarAccess.getLoopActionAccess().getCounterAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6018:1: ( rule__LoopAction__CounterAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6018:2: rule__LoopAction__CounterAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__CounterAssignment_4_in_rule__LoopAction__Group__4__Impl11937);
-            rule__LoopAction__CounterAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getCounterAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6028: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6032:1: ( rule__LoopAction__Group__5__Impl rule__LoopAction__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6033:2: rule__LoopAction__Group__5__Impl rule__LoopAction__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__5__Impl_in_rule__LoopAction__Group__511967);
-            rule__LoopAction__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__6_in_rule__LoopAction__Group__511970);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6040:1: rule__LoopAction__Group__5__Impl : ( ( rule__LoopAction__Group_5__0 )? ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6044:1: ( ( ( rule__LoopAction__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6045:1: ( ( rule__LoopAction__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6045:1: ( ( rule__LoopAction__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6046:1: ( rule__LoopAction__Group_5__0 )?
-            {
-             before(grammarAccess.getLoopActionAccess().getGroup_5()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6047:1: ( rule__LoopAction__Group_5__0 )?
-            int alt24=2;
-            int LA24_0 = input.LA(1);
-
-            if ( (LA24_0==47) ) {
-                alt24=1;
-            }
-            switch (alt24) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6047:2: rule__LoopAction__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_5__0_in_rule__LoopAction__Group__5__Impl11997);
-                    rule__LoopAction__Group_5__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getGroup_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6057: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6061:1: ( rule__LoopAction__Group__6__Impl rule__LoopAction__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6062:2: rule__LoopAction__Group__6__Impl rule__LoopAction__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__6__Impl_in_rule__LoopAction__Group__612028);
-            rule__LoopAction__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__7_in_rule__LoopAction__Group__612031);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6069:1: rule__LoopAction__Group__6__Impl : ( ( rule__LoopAction__Group_6__0 )? ) ;
-    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6073:1: ( ( ( rule__LoopAction__Group_6__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6074:1: ( ( rule__LoopAction__Group_6__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6074:1: ( ( rule__LoopAction__Group_6__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6075:1: ( rule__LoopAction__Group_6__0 )?
-            {
-             before(grammarAccess.getLoopActionAccess().getGroup_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6076:1: ( rule__LoopAction__Group_6__0 )?
-            int alt25=2;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==48) ) {
-                alt25=1;
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6076:2: rule__LoopAction__Group_6__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_6__0_in_rule__LoopAction__Group__6__Impl12058);
-                    rule__LoopAction__Group_6__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getGroup_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6086: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6090:1: ( rule__LoopAction__Group__7__Impl rule__LoopAction__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6091:2: rule__LoopAction__Group__7__Impl rule__LoopAction__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__7__Impl_in_rule__LoopAction__Group__712089);
-            rule__LoopAction__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__8_in_rule__LoopAction__Group__712092);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6098: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6102:1: ( ( 'body' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6103:1: ( 'body' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6103:1: ( 'body' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6104:1: 'body'
-            {
-             before(grammarAccess.getLoopActionAccess().getBodyKeyword_7()); 
-            match(input,52,FollowSets000.FOLLOW_52_in_rule__LoopAction__Group__7__Impl12120); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6117: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6121:1: ( rule__LoopAction__Group__8__Impl rule__LoopAction__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6122:2: rule__LoopAction__Group__8__Impl rule__LoopAction__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__8__Impl_in_rule__LoopAction__Group__812151);
-            rule__LoopAction__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__9_in_rule__LoopAction__Group__812154);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6129: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6133:1: ( ( ( rule__LoopAction__BodyAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6134:1: ( ( rule__LoopAction__BodyAssignment_8 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6134:1: ( ( rule__LoopAction__BodyAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6135:1: ( rule__LoopAction__BodyAssignment_8 )
-            {
-             before(grammarAccess.getLoopActionAccess().getBodyAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6136:1: ( rule__LoopAction__BodyAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6136:2: rule__LoopAction__BodyAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__BodyAssignment_8_in_rule__LoopAction__Group__8__Impl12181);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6146: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6150:1: ( rule__LoopAction__Group__9__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6151:2: rule__LoopAction__Group__9__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group__9__Impl_in_rule__LoopAction__Group__912211);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6157: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6161:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6162:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6162:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6163:1: '}'
-            {
-             before(grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__LoopAction__Group__9__Impl12239); 
-             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_5__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6196:1: rule__LoopAction__Group_5__0 : rule__LoopAction__Group_5__0__Impl rule__LoopAction__Group_5__1 ;
-    public final void rule__LoopAction__Group_5__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6200:1: ( rule__LoopAction__Group_5__0__Impl rule__LoopAction__Group_5__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6201:2: rule__LoopAction__Group_5__0__Impl rule__LoopAction__Group_5__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_5__0__Impl_in_rule__LoopAction__Group_5__012290);
-            rule__LoopAction__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_5__1_in_rule__LoopAction__Group_5__012293);
-            rule__LoopAction__Group_5__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_5__0"
-
-
-    // $ANTLR start "rule__LoopAction__Group_5__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6208:1: rule__LoopAction__Group_5__0__Impl : ( 'predecessor' ) ;
-    public final void rule__LoopAction__Group_5__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6212:1: ( ( 'predecessor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6213:1: ( 'predecessor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6213:1: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6214:1: 'predecessor'
-            {
-             before(grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__LoopAction__Group_5__0__Impl12321); 
-             after(grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_5__0__Impl"
-
-
-    // $ANTLR start "rule__LoopAction__Group_5__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6227:1: rule__LoopAction__Group_5__1 : rule__LoopAction__Group_5__1__Impl ;
-    public final void rule__LoopAction__Group_5__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6231:1: ( rule__LoopAction__Group_5__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6232:2: rule__LoopAction__Group_5__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_5__1__Impl_in_rule__LoopAction__Group_5__112352);
-            rule__LoopAction__Group_5__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_5__1"
-
-
-    // $ANTLR start "rule__LoopAction__Group_5__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6238:1: rule__LoopAction__Group_5__1__Impl : ( ( rule__LoopAction__PredecessorAssignment_5_1 ) ) ;
-    public final void rule__LoopAction__Group_5__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6242:1: ( ( ( rule__LoopAction__PredecessorAssignment_5_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6243:1: ( ( rule__LoopAction__PredecessorAssignment_5_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6243:1: ( ( rule__LoopAction__PredecessorAssignment_5_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6244:1: ( rule__LoopAction__PredecessorAssignment_5_1 )
-            {
-             before(grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6245:1: ( rule__LoopAction__PredecessorAssignment_5_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6245:2: rule__LoopAction__PredecessorAssignment_5_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__PredecessorAssignment_5_1_in_rule__LoopAction__Group_5__1__Impl12379);
-            rule__LoopAction__PredecessorAssignment_5_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_5__1__Impl"
-
-
-    // $ANTLR start "rule__LoopAction__Group_6__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6259:1: rule__LoopAction__Group_6__0 : rule__LoopAction__Group_6__0__Impl rule__LoopAction__Group_6__1 ;
-    public final void rule__LoopAction__Group_6__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6263:1: ( rule__LoopAction__Group_6__0__Impl rule__LoopAction__Group_6__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6264:2: rule__LoopAction__Group_6__0__Impl rule__LoopAction__Group_6__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_6__0__Impl_in_rule__LoopAction__Group_6__012413);
-            rule__LoopAction__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_6__1_in_rule__LoopAction__Group_6__012416);
-            rule__LoopAction__Group_6__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_6__0"
-
-
-    // $ANTLR start "rule__LoopAction__Group_6__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6271:1: rule__LoopAction__Group_6__0__Impl : ( 'successor' ) ;
-    public final void rule__LoopAction__Group_6__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6275:1: ( ( 'successor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6276:1: ( 'successor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6276:1: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6277:1: 'successor'
-            {
-             before(grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__LoopAction__Group_6__0__Impl12444); 
-             after(grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_6__0__Impl"
-
-
-    // $ANTLR start "rule__LoopAction__Group_6__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6290:1: rule__LoopAction__Group_6__1 : rule__LoopAction__Group_6__1__Impl ;
-    public final void rule__LoopAction__Group_6__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6294:1: ( rule__LoopAction__Group_6__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6295:2: rule__LoopAction__Group_6__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__Group_6__1__Impl_in_rule__LoopAction__Group_6__112475);
-            rule__LoopAction__Group_6__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_6__1"
-
-
-    // $ANTLR start "rule__LoopAction__Group_6__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6301:1: rule__LoopAction__Group_6__1__Impl : ( ( rule__LoopAction__SuccessorAssignment_6_1 ) ) ;
-    public final void rule__LoopAction__Group_6__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6305:1: ( ( ( rule__LoopAction__SuccessorAssignment_6_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6306:1: ( ( rule__LoopAction__SuccessorAssignment_6_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6306:1: ( ( rule__LoopAction__SuccessorAssignment_6_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6307:1: ( rule__LoopAction__SuccessorAssignment_6_1 )
-            {
-             before(grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6308:1: ( rule__LoopAction__SuccessorAssignment_6_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6308:2: rule__LoopAction__SuccessorAssignment_6_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__LoopAction__SuccessorAssignment_6_1_in_rule__LoopAction__Group_6__1__Impl12502);
-            rule__LoopAction__SuccessorAssignment_6_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__LoopAction__Group_6__1__Impl"
-
-
-    // $ANTLR start "rule__BranchAction__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6322: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6326:1: ( rule__BranchAction__Group__0__Impl rule__BranchAction__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6327:2: rule__BranchAction__Group__0__Impl rule__BranchAction__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__0__Impl_in_rule__BranchAction__Group__012536);
-            rule__BranchAction__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__1_in_rule__BranchAction__Group__012539);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6334: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6338:1: ( ( 'BranchAction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6339:1: ( 'BranchAction' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6339:1: ( 'BranchAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6340:1: 'BranchAction'
-            {
-             before(grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); 
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__BranchAction__Group__0__Impl12567); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6353: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6357:1: ( rule__BranchAction__Group__1__Impl rule__BranchAction__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6358:2: rule__BranchAction__Group__1__Impl rule__BranchAction__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__1__Impl_in_rule__BranchAction__Group__112598);
-            rule__BranchAction__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__2_in_rule__BranchAction__Group__112601);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6365: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6369:1: ( ( ( rule__BranchAction__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6370:1: ( ( rule__BranchAction__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6370:1: ( ( rule__BranchAction__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6371:1: ( rule__BranchAction__IdAssignment_1 )
-            {
-             before(grammarAccess.getBranchActionAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6372:1: ( rule__BranchAction__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6372:2: rule__BranchAction__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__IdAssignment_1_in_rule__BranchAction__Group__1__Impl12628);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6382: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6386:1: ( rule__BranchAction__Group__2__Impl rule__BranchAction__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6387:2: rule__BranchAction__Group__2__Impl rule__BranchAction__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__2__Impl_in_rule__BranchAction__Group__212658);
-            rule__BranchAction__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__3_in_rule__BranchAction__Group__212661);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6394: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6398:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6399:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6399:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6400:1: '{'
-            {
-             before(grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__BranchAction__Group__2__Impl12689); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6413: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6417:1: ( rule__BranchAction__Group__3__Impl rule__BranchAction__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6418:2: rule__BranchAction__Group__3__Impl rule__BranchAction__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__3__Impl_in_rule__BranchAction__Group__312720);
-            rule__BranchAction__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__4_in_rule__BranchAction__Group__312723);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6425: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6429:1: ( ( ( rule__BranchAction__Group_3__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6430:1: ( ( rule__BranchAction__Group_3__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6430:1: ( ( rule__BranchAction__Group_3__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6431: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6432:1: ( rule__BranchAction__Group_3__0 )?
-            int alt26=2;
-            int LA26_0 = input.LA(1);
-
-            if ( (LA26_0==56) ) {
-                alt26=1;
-            }
-            switch (alt26) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6432:2: rule__BranchAction__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__0_in_rule__BranchAction__Group__3__Impl12750);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6442: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6446:1: ( rule__BranchAction__Group__4__Impl rule__BranchAction__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6447:2: rule__BranchAction__Group__4__Impl rule__BranchAction__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__4__Impl_in_rule__BranchAction__Group__412781);
-            rule__BranchAction__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__5_in_rule__BranchAction__Group__412784);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6454: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6458:1: ( ( ( rule__BranchAction__Group_4__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6459:1: ( ( rule__BranchAction__Group_4__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6459:1: ( ( rule__BranchAction__Group_4__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6460: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6461:1: ( rule__BranchAction__Group_4__0 )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
-
-            if ( (LA27_0==47) ) {
-                alt27=1;
-            }
-            switch (alt27) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6461:2: rule__BranchAction__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__0_in_rule__BranchAction__Group__4__Impl12811);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6471: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6475:1: ( rule__BranchAction__Group__5__Impl rule__BranchAction__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6476:2: rule__BranchAction__Group__5__Impl rule__BranchAction__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__5__Impl_in_rule__BranchAction__Group__512842);
-            rule__BranchAction__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__6_in_rule__BranchAction__Group__512845);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6483: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6487:1: ( ( ( rule__BranchAction__Group_5__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6488:1: ( ( rule__BranchAction__Group_5__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6488:1: ( ( rule__BranchAction__Group_5__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6489: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6490:1: ( rule__BranchAction__Group_5__0 )?
-            int alt28=2;
-            int LA28_0 = input.LA(1);
-
-            if ( (LA28_0==48) ) {
-                alt28=1;
-            }
-            switch (alt28) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6490:2: rule__BranchAction__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__0_in_rule__BranchAction__Group__5__Impl12872);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6500: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6504:1: ( rule__BranchAction__Group__6__Impl rule__BranchAction__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6505:2: rule__BranchAction__Group__6__Impl rule__BranchAction__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__6__Impl_in_rule__BranchAction__Group__612903);
-            rule__BranchAction__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__7_in_rule__BranchAction__Group__612906);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6512: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6516:1: ( ( ( rule__BranchAction__Group_6__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6517:1: ( ( rule__BranchAction__Group_6__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6517:1: ( ( rule__BranchAction__Group_6__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6518: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6519:1: ( rule__BranchAction__Group_6__0 )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
-
-            if ( (LA29_0==57) ) {
-                alt29=1;
-            }
-            switch (alt29) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6519:2: rule__BranchAction__Group_6__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__0_in_rule__BranchAction__Group__6__Impl12933);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6529: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6533:1: ( rule__BranchAction__Group__7__Impl rule__BranchAction__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6534:2: rule__BranchAction__Group__7__Impl rule__BranchAction__Group__8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__7__Impl_in_rule__BranchAction__Group__712964);
-            rule__BranchAction__Group__7__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__8_in_rule__BranchAction__Group__712967);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6541: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6545:1: ( ( 'conditionTrueBranch' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6546:1: ( 'conditionTrueBranch' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6546:1: ( 'conditionTrueBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6547:1: 'conditionTrueBranch'
-            {
-             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7()); 
-            match(input,54,FollowSets000.FOLLOW_54_in_rule__BranchAction__Group__7__Impl12995); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6560: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6564:1: ( rule__BranchAction__Group__8__Impl rule__BranchAction__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6565:2: rule__BranchAction__Group__8__Impl rule__BranchAction__Group__9
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__8__Impl_in_rule__BranchAction__Group__813026);
-            rule__BranchAction__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__9_in_rule__BranchAction__Group__813029);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6572: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6576:1: ( ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6577:1: ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6577:1: ( ( rule__BranchAction__ConditionTrueBranchAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6578:1: ( rule__BranchAction__ConditionTrueBranchAssignment_8 )
-            {
-             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6579:1: ( rule__BranchAction__ConditionTrueBranchAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6579:2: rule__BranchAction__ConditionTrueBranchAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionTrueBranchAssignment_8_in_rule__BranchAction__Group__8__Impl13056);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6589: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6593:1: ( rule__BranchAction__Group__9__Impl rule__BranchAction__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6594:2: rule__BranchAction__Group__9__Impl rule__BranchAction__Group__10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__9__Impl_in_rule__BranchAction__Group__913086);
-            rule__BranchAction__Group__9__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__10_in_rule__BranchAction__Group__913089);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6601: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6605:1: ( ( 'conditionFalseBranch' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6606:1: ( 'conditionFalseBranch' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6606:1: ( 'conditionFalseBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6607:1: 'conditionFalseBranch'
-            {
-             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9()); 
-            match(input,55,FollowSets000.FOLLOW_55_in_rule__BranchAction__Group__9__Impl13117); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6620: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6624:1: ( rule__BranchAction__Group__10__Impl rule__BranchAction__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6625:2: rule__BranchAction__Group__10__Impl rule__BranchAction__Group__11
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__10__Impl_in_rule__BranchAction__Group__1013148);
-            rule__BranchAction__Group__10__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__11_in_rule__BranchAction__Group__1013151);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6632: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6636:1: ( ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6637:1: ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6637:1: ( ( rule__BranchAction__ConditionFalseBranchAssignment_10 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6638:1: ( rule__BranchAction__ConditionFalseBranchAssignment_10 )
-            {
-             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6639:1: ( rule__BranchAction__ConditionFalseBranchAssignment_10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6639:2: rule__BranchAction__ConditionFalseBranchAssignment_10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionFalseBranchAssignment_10_in_rule__BranchAction__Group__10__Impl13178);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6649: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6653:1: ( rule__BranchAction__Group__11__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6654:2: rule__BranchAction__Group__11__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group__11__Impl_in_rule__BranchAction__Group__1113208);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6660: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6664:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6665:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6665:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6666:1: '}'
-            {
-             before(grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__BranchAction__Group__11__Impl13236); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6703: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6707: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6708: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__013291);
-            rule__BranchAction__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__1_in_rule__BranchAction__Group_3__013294);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6715: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6719:1: ( ( 'condition' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6720:1: ( 'condition' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6720:1: ( 'condition' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6721:1: 'condition'
-            {
-             before(grammarAccess.getBranchActionAccess().getConditionKeyword_3_0()); 
-            match(input,56,FollowSets000.FOLLOW_56_in_rule__BranchAction__Group_3__0__Impl13322); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6734: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6738:1: ( rule__BranchAction__Group_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6739:2: rule__BranchAction__Group_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_3__1__Impl_in_rule__BranchAction__Group_3__113353);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6745: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6749:1: ( ( ( rule__BranchAction__ConditionAssignment_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6750:1: ( ( rule__BranchAction__ConditionAssignment_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6750:1: ( ( rule__BranchAction__ConditionAssignment_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6751: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6752:1: ( rule__BranchAction__ConditionAssignment_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6752:2: rule__BranchAction__ConditionAssignment_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ConditionAssignment_3_1_in_rule__BranchAction__Group_3__1__Impl13380);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6766: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6770: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6771: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__013414);
-            rule__BranchAction__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__1_in_rule__BranchAction__Group_4__013417);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6778: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6782:1: ( ( 'predecessor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6783:1: ( 'predecessor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6783:1: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6784:1: 'predecessor'
-            {
-             before(grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__BranchAction__Group_4__0__Impl13445); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6797: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6801:1: ( rule__BranchAction__Group_4__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6802:2: rule__BranchAction__Group_4__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_4__1__Impl_in_rule__BranchAction__Group_4__113476);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6808: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6812:1: ( ( ( rule__BranchAction__PredecessorAssignment_4_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6813:1: ( ( rule__BranchAction__PredecessorAssignment_4_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6813:1: ( ( rule__BranchAction__PredecessorAssignment_4_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6814: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6815:1: ( rule__BranchAction__PredecessorAssignment_4_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6815:2: rule__BranchAction__PredecessorAssignment_4_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__PredecessorAssignment_4_1_in_rule__BranchAction__Group_4__1__Impl13503);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6829: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6833: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6834: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__013537);
-            rule__BranchAction__Group_5__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__1_in_rule__BranchAction__Group_5__013540);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6841: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6845:1: ( ( 'successor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6846:1: ( 'successor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6846:1: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6847:1: 'successor'
-            {
-             before(grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__BranchAction__Group_5__0__Impl13568); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6860: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6864:1: ( rule__BranchAction__Group_5__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6865:2: rule__BranchAction__Group_5__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_5__1__Impl_in_rule__BranchAction__Group_5__113599);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6871: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6875:1: ( ( ( rule__BranchAction__SuccessorAssignment_5_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6876:1: ( ( rule__BranchAction__SuccessorAssignment_5_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6876:1: ( ( rule__BranchAction__SuccessorAssignment_5_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6877: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6878:1: ( rule__BranchAction__SuccessorAssignment_5_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6878:2: rule__BranchAction__SuccessorAssignment_5_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__SuccessorAssignment_5_1_in_rule__BranchAction__Group_5__1__Impl13626);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6892: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6896: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6897: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__013660);
-            rule__BranchAction__Group_6__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__1_in_rule__BranchAction__Group_6__013663);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6904: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6908:1: ( ( 'context' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6909:1: ( 'context' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6909:1: ( 'context' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6910:1: 'context'
-            {
-             before(grammarAccess.getBranchActionAccess().getContextKeyword_6_0()); 
-            match(input,57,FollowSets000.FOLLOW_57_in_rule__BranchAction__Group_6__0__Impl13691); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6923: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6927:1: ( rule__BranchAction__Group_6__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6928:2: rule__BranchAction__Group_6__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__Group_6__1__Impl_in_rule__BranchAction__Group_6__113722);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6934: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6938:1: ( ( ( rule__BranchAction__ContextAssignment_6_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6939:1: ( ( rule__BranchAction__ContextAssignment_6_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6939:1: ( ( rule__BranchAction__ContextAssignment_6_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6940: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6941:1: ( rule__BranchAction__ContextAssignment_6_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6941:2: rule__BranchAction__ContextAssignment_6_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__BranchAction__ContextAssignment_6_1_in_rule__BranchAction__Group_6__1__Impl13749);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6955: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6959:1: ( rule__ActionReference__Group__0__Impl rule__ActionReference__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6960:2: rule__ActionReference__Group__0__Impl rule__ActionReference__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__0__Impl_in_rule__ActionReference__Group__013783);
-            rule__ActionReference__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__1_in_rule__ActionReference__Group__013786);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6967: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6971:1: ( ( 'ActionReference' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6972:1: ( 'ActionReference' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6972:1: ( 'ActionReference' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6973:1: 'ActionReference'
-            {
-             before(grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0()); 
-            match(input,58,FollowSets000.FOLLOW_58_in_rule__ActionReference__Group__0__Impl13814); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6986: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6990:1: ( rule__ActionReference__Group__1__Impl rule__ActionReference__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6991:2: rule__ActionReference__Group__1__Impl rule__ActionReference__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__1__Impl_in_rule__ActionReference__Group__113845);
-            rule__ActionReference__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__2_in_rule__ActionReference__Group__113848);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6998: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7002:1: ( ( ( rule__ActionReference__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7003:1: ( ( rule__ActionReference__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7003:1: ( ( rule__ActionReference__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7004:1: ( rule__ActionReference__IdAssignment_1 )
-            {
-             before(grammarAccess.getActionReferenceAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7005:1: ( rule__ActionReference__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7005:2: rule__ActionReference__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__IdAssignment_1_in_rule__ActionReference__Group__1__Impl13875);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7015: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7019:1: ( rule__ActionReference__Group__2__Impl rule__ActionReference__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7020:2: rule__ActionReference__Group__2__Impl rule__ActionReference__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__2__Impl_in_rule__ActionReference__Group__213905);
-            rule__ActionReference__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__3_in_rule__ActionReference__Group__213908);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7027: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7031:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7032:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7032:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7033:1: '{'
-            {
-             before(grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ActionReference__Group__2__Impl13936); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7046: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7050:1: ( rule__ActionReference__Group__3__Impl rule__ActionReference__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7051:2: rule__ActionReference__Group__3__Impl rule__ActionReference__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__3__Impl_in_rule__ActionReference__Group__313967);
-            rule__ActionReference__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__4_in_rule__ActionReference__Group__313970);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7058: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7062:1: ( ( ( rule__ActionReference__Group_3__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7063:1: ( ( rule__ActionReference__Group_3__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7063:1: ( ( rule__ActionReference__Group_3__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7064: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7065:1: ( rule__ActionReference__Group_3__0 )?
-            int alt30=2;
-            int LA30_0 = input.LA(1);
-
-            if ( (LA30_0==47) ) {
-                alt30=1;
-            }
-            switch (alt30) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7065:2: rule__ActionReference__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__0_in_rule__ActionReference__Group__3__Impl13997);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7075: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7079:1: ( rule__ActionReference__Group__4__Impl rule__ActionReference__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7080:2: rule__ActionReference__Group__4__Impl rule__ActionReference__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__4__Impl_in_rule__ActionReference__Group__414028);
-            rule__ActionReference__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__5_in_rule__ActionReference__Group__414031);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7087: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7091:1: ( ( ( rule__ActionReference__Group_4__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7092:1: ( ( rule__ActionReference__Group_4__0 )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7092:1: ( ( rule__ActionReference__Group_4__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7093: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7094:1: ( rule__ActionReference__Group_4__0 )?
-            int alt31=2;
-            int LA31_0 = input.LA(1);
-
-            if ( (LA31_0==48) ) {
-                alt31=1;
-            }
-            switch (alt31) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7094:2: rule__ActionReference__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__0_in_rule__ActionReference__Group__4__Impl14058);
-                    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7104: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7108:1: ( rule__ActionReference__Group__5__Impl rule__ActionReference__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7109:2: rule__ActionReference__Group__5__Impl rule__ActionReference__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__5__Impl_in_rule__ActionReference__Group__514089);
-            rule__ActionReference__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__6_in_rule__ActionReference__Group__514092);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7116: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7120:1: ( ( 'refersTo' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7121:1: ( 'refersTo' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7121:1: ( 'refersTo' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7122:1: 'refersTo'
-            {
-             before(grammarAccess.getActionReferenceAccess().getRefersToKeyword_5()); 
-            match(input,59,FollowSets000.FOLLOW_59_in_rule__ActionReference__Group__5__Impl14120); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7135: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7139:1: ( rule__ActionReference__Group__6__Impl rule__ActionReference__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7140:2: rule__ActionReference__Group__6__Impl rule__ActionReference__Group__7
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__6__Impl_in_rule__ActionReference__Group__614151);
-            rule__ActionReference__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__7_in_rule__ActionReference__Group__614154);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7147: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7151:1: ( ( ( rule__ActionReference__RefersToAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7152:1: ( ( rule__ActionReference__RefersToAssignment_6 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7152:1: ( ( rule__ActionReference__RefersToAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7153:1: ( rule__ActionReference__RefersToAssignment_6 )
-            {
-             before(grammarAccess.getActionReferenceAccess().getRefersToAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7154:1: ( rule__ActionReference__RefersToAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7154:2: rule__ActionReference__RefersToAssignment_6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__RefersToAssignment_6_in_rule__ActionReference__Group__6__Impl14181);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7164: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7168:1: ( rule__ActionReference__Group__7__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7169:2: rule__ActionReference__Group__7__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group__7__Impl_in_rule__ActionReference__Group__714211);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7175: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7179:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7180:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7180:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7181:1: '}'
-            {
-             before(grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ActionReference__Group__7__Impl14239); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7210: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7214: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7215: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__014286);
-            rule__ActionReference__Group_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__1_in_rule__ActionReference__Group_3__014289);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7222: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7226:1: ( ( 'predecessor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7227:1: ( 'predecessor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7227:1: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7228:1: 'predecessor'
-            {
-             before(grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__ActionReference__Group_3__0__Impl14317); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7241: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7245:1: ( rule__ActionReference__Group_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7246:2: rule__ActionReference__Group_3__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_3__1__Impl_in_rule__ActionReference__Group_3__114348);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7252: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7256:1: ( ( ( rule__ActionReference__PredecessorAssignment_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7257:1: ( ( rule__ActionReference__PredecessorAssignment_3_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7257:1: ( ( rule__ActionReference__PredecessorAssignment_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7258: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7259:1: ( rule__ActionReference__PredecessorAssignment_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7259:2: rule__ActionReference__PredecessorAssignment_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__PredecessorAssignment_3_1_in_rule__ActionReference__Group_3__1__Impl14375);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7273: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7277: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7278: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__014409);
-            rule__ActionReference__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__1_in_rule__ActionReference__Group_4__014412);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7285: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7289:1: ( ( 'successor' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7290:1: ( 'successor' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7290:1: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7291:1: 'successor'
-            {
-             before(grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__ActionReference__Group_4__0__Impl14440); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7304: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7308:1: ( rule__ActionReference__Group_4__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7309:2: rule__ActionReference__Group_4__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__Group_4__1__Impl_in_rule__ActionReference__Group_4__114471);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7315: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7319:1: ( ( ( rule__ActionReference__SuccessorAssignment_4_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7320:1: ( ( rule__ActionReference__SuccessorAssignment_4_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7320:1: ( ( rule__ActionReference__SuccessorAssignment_4_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7321: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7322:1: ( rule__ActionReference__SuccessorAssignment_4_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7322:2: rule__ActionReference__SuccessorAssignment_4_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ActionReference__SuccessorAssignment_4_1_in_rule__ActionReference__Group_4__1__Impl14498);
-            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__EInt__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7336:1: rule__EInt__Group__0 : rule__EInt__Group__0__Impl rule__EInt__Group__1 ;
-    public final void rule__EInt__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7340:1: ( rule__EInt__Group__0__Impl rule__EInt__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7341:2: rule__EInt__Group__0__Impl rule__EInt__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__0__Impl_in_rule__EInt__Group__014532);
-            rule__EInt__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__1_in_rule__EInt__Group__014535);
-            rule__EInt__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EInt__Group__0"
-
-
-    // $ANTLR start "rule__EInt__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7348:1: rule__EInt__Group__0__Impl : ( ( '-' )? ) ;
-    public final void rule__EInt__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7352:1: ( ( ( '-' )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7353:1: ( ( '-' )? )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7353:1: ( ( '-' )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7354:1: ( '-' )?
-            {
-             before(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7355:1: ( '-' )?
-            int alt32=2;
-            int LA32_0 = input.LA(1);
-
-            if ( (LA32_0==60) ) {
-                alt32=1;
-            }
-            switch (alt32) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7356:2: '-'
-                    {
-                    match(input,60,FollowSets000.FOLLOW_60_in_rule__EInt__Group__0__Impl14564); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EInt__Group__0__Impl"
-
-
-    // $ANTLR start "rule__EInt__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7367:1: rule__EInt__Group__1 : rule__EInt__Group__1__Impl ;
-    public final void rule__EInt__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7371:1: ( rule__EInt__Group__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7372:2: rule__EInt__Group__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__1__Impl_in_rule__EInt__Group__114597);
-            rule__EInt__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EInt__Group__1"
-
-
-    // $ANTLR start "rule__EInt__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7378:1: rule__EInt__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__EInt__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7382:1: ( ( RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7383:1: ( RULE_INT )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7383:1: ( RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7384:1: RULE_INT
-            {
-             before(grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EInt__Group__1__Impl14624); 
-             after(grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EInt__Group__1__Impl"
-
-
-    // $ANTLR start "rule__AdaptationActionOperation__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7399: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7403:1: ( rule__AdaptationActionOperation__Group__0__Impl rule__AdaptationActionOperation__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7404:2: rule__AdaptationActionOperation__Group__0__Impl rule__AdaptationActionOperation__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__0__Impl_in_rule__AdaptationActionOperation__Group__014657);
-            rule__AdaptationActionOperation__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__1_in_rule__AdaptationActionOperation__Group__014660);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7411: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7415:1: ( ( 'AdaptationActionOperation' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7416:1: ( 'AdaptationActionOperation' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7416:1: ( 'AdaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7417:1: 'AdaptationActionOperation'
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0()); 
-            match(input,61,FollowSets000.FOLLOW_61_in_rule__AdaptationActionOperation__Group__0__Impl14688); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7430: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7434:1: ( rule__AdaptationActionOperation__Group__1__Impl rule__AdaptationActionOperation__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7435:2: rule__AdaptationActionOperation__Group__1__Impl rule__AdaptationActionOperation__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__1__Impl_in_rule__AdaptationActionOperation__Group__114719);
-            rule__AdaptationActionOperation__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__2_in_rule__AdaptationActionOperation__Group__114722);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7442: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7446:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7447:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7447:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7448:1: '{'
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__AdaptationActionOperation__Group__1__Impl14750); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7461: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7465:1: ( rule__AdaptationActionOperation__Group__2__Impl rule__AdaptationActionOperation__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7466:2: rule__AdaptationActionOperation__Group__2__Impl rule__AdaptationActionOperation__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__2__Impl_in_rule__AdaptationActionOperation__Group__214781);
-            rule__AdaptationActionOperation__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__3_in_rule__AdaptationActionOperation__Group__214784);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7473: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7477:1: ( ( 'adaptationOperationScope' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7478:1: ( 'adaptationOperationScope' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7478:1: ( 'adaptationOperationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7479:1: 'adaptationOperationScope'
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2()); 
-            match(input,62,FollowSets000.FOLLOW_62_in_rule__AdaptationActionOperation__Group__2__Impl14812); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7492: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7496:1: ( rule__AdaptationActionOperation__Group__3__Impl rule__AdaptationActionOperation__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7497:2: rule__AdaptationActionOperation__Group__3__Impl rule__AdaptationActionOperation__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__3__Impl_in_rule__AdaptationActionOperation__Group__314843);
-            rule__AdaptationActionOperation__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__4_in_rule__AdaptationActionOperation__Group__314846);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7504: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7508:1: ( ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7509:1: ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7509:1: ( ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7510:1: ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 )
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7511:1: ( rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7511:2: rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3_in_rule__AdaptationActionOperation__Group__3__Impl14873);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7521: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7525:1: ( rule__AdaptationActionOperation__Group__4__Impl rule__AdaptationActionOperation__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7526:2: rule__AdaptationActionOperation__Group__4__Impl rule__AdaptationActionOperation__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__4__Impl_in_rule__AdaptationActionOperation__Group__414903);
-            rule__AdaptationActionOperation__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__5_in_rule__AdaptationActionOperation__Group__414906);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7533: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7537:1: ( ( 'adaptationOperationDirection' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7538:1: ( 'adaptationOperationDirection' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7538:1: ( 'adaptationOperationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7539:1: 'adaptationOperationDirection'
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4()); 
-            match(input,63,FollowSets000.FOLLOW_63_in_rule__AdaptationActionOperation__Group__4__Impl14934); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7552: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7556:1: ( rule__AdaptationActionOperation__Group__5__Impl rule__AdaptationActionOperation__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7557:2: rule__AdaptationActionOperation__Group__5__Impl rule__AdaptationActionOperation__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__5__Impl_in_rule__AdaptationActionOperation__Group__514965);
-            rule__AdaptationActionOperation__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__6_in_rule__AdaptationActionOperation__Group__514968);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7564: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7568:1: ( ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7569:1: ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7569:1: ( ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7570:1: ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 )
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7571:1: ( rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7571:2: rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5_in_rule__AdaptationActionOperation__Group__5__Impl14995);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7581: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7585:1: ( rule__AdaptationActionOperation__Group__6__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7586:2: rule__AdaptationActionOperation__Group__6__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AdaptationActionOperation__Group__6__Impl_in_rule__AdaptationActionOperation__Group__615025);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7592: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7596:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7597:1: ( '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7597:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7598:1: '}'
-            {
-             before(grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationActionOperation__Group__6__Impl15053); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7625: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7629:1: ( rule__ModelVariableConfigurationRange__Group__0__Impl rule__ModelVariableConfigurationRange__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7630:2: rule__ModelVariableConfigurationRange__Group__0__Impl rule__ModelVariableConfigurationRange__Group__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__0__Impl_in_rule__ModelVariableConfigurationRange__Group__015098);
-            rule__ModelVariableConfigurationRange__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__1_in_rule__ModelVariableConfigurationRange__Group__015101);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7637: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7641:1: ( ( 'ModelVariableConfigurationRange' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7642:1: ( 'ModelVariableConfigurationRange' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7642:1: ( 'ModelVariableConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7643:1: 'ModelVariableConfigurationRange'
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0()); 
-            match(input,64,FollowSets000.FOLLOW_64_in_rule__ModelVariableConfigurationRange__Group__0__Impl15129); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7656: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7660:1: ( rule__ModelVariableConfigurationRange__Group__1__Impl rule__ModelVariableConfigurationRange__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7661:2: rule__ModelVariableConfigurationRange__Group__1__Impl rule__ModelVariableConfigurationRange__Group__2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__1__Impl_in_rule__ModelVariableConfigurationRange__Group__115160);
-            rule__ModelVariableConfigurationRange__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__2_in_rule__ModelVariableConfigurationRange__Group__115163);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7668: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7672:1: ( ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7673:1: ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7673:1: ( ( rule__ModelVariableConfigurationRange__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7674:1: ( rule__ModelVariableConfigurationRange__IdAssignment_1 )
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7675:1: ( rule__ModelVariableConfigurationRange__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7675:2: rule__ModelVariableConfigurationRange__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__IdAssignment_1_in_rule__ModelVariableConfigurationRange__Group__1__Impl15190);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7685: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7689:1: ( rule__ModelVariableConfigurationRange__Group__2__Impl rule__ModelVariableConfigurationRange__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7690:2: rule__ModelVariableConfigurationRange__Group__2__Impl rule__ModelVariableConfigurationRange__Group__3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__2__Impl_in_rule__ModelVariableConfigurationRange__Group__215220);
-            rule__ModelVariableConfigurationRange__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__3_in_rule__ModelVariableConfigurationRange__Group__215223);
-            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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7697:1: rule__ModelVariableConfigurationRange__Group__2__Impl : ( '{' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AbstractControlFlowElement__Alternatives"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:746: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7701:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7702:1: ( '{' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7702:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7703:1: '{'
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ModelVariableConfigurationRange__Group__2__Impl15251); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
-
-            }
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:750:1: ( ( ruleStartAction ) | ( ruleStopAction ) | ( ruleLoopAction ) | ( ruleBranchAction ) | ( ruleActionReference ) )
+            int alt1=5;
+            switch ( input.LA(1) ) {
+            case 44:
+                {
+                alt1=1;
+                }
+                break;
+            case 11:
+                {
+                alt1=2;
+                }
+                break;
+            case 12:
+                {
+                alt1=3;
+                }
+                break;
+            case 13:
+                {
+                alt1=4;
+                }
+                break;
+            case 14:
+                {
+                alt1=5;
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
 
+                throw nvae;
             }
 
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7716: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7720:1: ( rule__ModelVariableConfigurationRange__Group__3__Impl rule__ModelVariableConfigurationRange__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7721:2: rule__ModelVariableConfigurationRange__Group__3__Impl rule__ModelVariableConfigurationRange__Group__4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__3__Impl_in_rule__ModelVariableConfigurationRange__Group__315282);
-            rule__ModelVariableConfigurationRange__Group__3__Impl();
+            switch (alt1) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:751:1: ( ruleStartAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:751:1: ( ruleStartAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:752:1: ruleStartAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives1492);
+                    ruleStartAction();
 
-            state._fsp--;
+                    state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__4_in_rule__ModelVariableConfigurationRange__Group__315285);
-            rule__ModelVariableConfigurationRange__Group__4();
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
 
-            state._fsp--;
+                    }
 
 
-            }
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:757:6: ( ruleStopAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:757:6: ( ruleStopAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:758:1: ruleStopAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives1509);
+                    ruleStopAction();
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
+                    state._fsp--;
 
-            	restoreStackSize(stackSize);
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
 
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7728:1: rule__ModelVariableConfigurationRange__Group__3__Impl : ( 'name' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__3__Impl() throws RecognitionException {
+                    }
+                    break;
+                case 3 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:763:6: ( ruleLoopAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:763:6: ( ruleLoopAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:764:1: ruleLoopAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives1526);
+                    ruleLoopAction();
 
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7732:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7733:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7733:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7734:1: 'name'
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__ModelVariableConfigurationRange__Group__3__Impl15313); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3()); 
+                    state._fsp--;
 
-            }
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
 
+                    }
 
-            }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
+                    }
+                    break;
+                case 4 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:769:6: ( ruleBranchAction )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:769:6: ( ruleBranchAction )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:770:1: ruleBranchAction
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives1543);
+                    ruleBranchAction();
 
-            	restoreStackSize(stackSize);
+                    state._fsp--;
 
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__3__Impl"
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
 
+                    }
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7747: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7751:1: ( rule__ModelVariableConfigurationRange__Group__4__Impl rule__ModelVariableConfigurationRange__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7752:2: rule__ModelVariableConfigurationRange__Group__4__Impl rule__ModelVariableConfigurationRange__Group__5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__4__Impl_in_rule__ModelVariableConfigurationRange__Group__415344);
-            rule__ModelVariableConfigurationRange__Group__4__Impl();
+                    }
+                    break;
+                case 5 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:775:6: ( ruleActionReference )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:775:6: ( ruleActionReference )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:776:1: ruleActionReference
+                    {
+                     before(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives1560);
+                    ruleActionReference();
 
-            state._fsp--;
+                    state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__5_in_rule__ModelVariableConfigurationRange__Group__415347);
-            rule__ModelVariableConfigurationRange__Group__5();
+                     after(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
 
-            state._fsp--;
+                    }
 
 
-            }
+                    }
+                    break;
 
+            }
         }
         catch (RecognitionException re) {
             reportError(re);
@@ -19766,41 +1962,65 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__4"
+    // $ANTLR end "rule__AbstractControlFlowElement__Alternatives"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7759:1: rule__ModelVariableConfigurationRange__Group__4__Impl : ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EString__Alternatives"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:787: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7763:1: ( ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7764:1: ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7764:1: ( ( rule__ModelVariableConfigurationRange__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7765:1: ( rule__ModelVariableConfigurationRange__NameAssignment_4 )
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7766:1: ( rule__ModelVariableConfigurationRange__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7766:2: rule__ModelVariableConfigurationRange__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__NameAssignment_4_in_rule__ModelVariableConfigurationRange__Group__4__Impl15374);
-            rule__ModelVariableConfigurationRange__NameAssignment_4();
-
-            state._fsp--;
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:791:1: ( ( RULE_STRING ) | ( RULE_ID ) )
+            int alt2=2;
+            int LA2_0 = input.LA(1);
 
+            if ( (LA2_0==RULE_STRING) ) {
+                alt2=1;
+            }
+            else if ( (LA2_0==RULE_ID) ) {
+                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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:792:1: ( RULE_STRING )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:792:1: ( RULE_STRING )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:793:1: RULE_STRING
+                    {
+                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives1593); 
+                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+
+                    }
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4()); 
 
-            }
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:798:6: ( RULE_ID )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:798:6: ( RULE_ID )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:799:1: RULE_ID
+                    {
+                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives1610); 
+                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+
+                    }
 
 
-            }
+                    }
+                    break;
 
+            }
         }
         catch (RecognitionException re) {
             reportError(re);
@@ -19813,69 +2033,65 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__4__Impl"
+    // $ANTLR end "rule__EString__Alternatives"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7776:1: rule__ModelVariableConfigurationRange__Group__5 : rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6 ;
-    public final void rule__ModelVariableConfigurationRange__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Alternatives_4_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:809: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7780:1: ( rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7781:2: rule__ModelVariableConfigurationRange__Group__5__Impl rule__ModelVariableConfigurationRange__Group__6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__5__Impl_in_rule__ModelVariableConfigurationRange__Group__515404);
-            rule__ModelVariableConfigurationRange__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__6_in_rule__ModelVariableConfigurationRange__Group__515407);
-            rule__ModelVariableConfigurationRange__Group__6();
-
-            state._fsp--;
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:813:1: ( ( 'E' ) | ( 'e' ) )
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
+            if ( (LA3_0==18) ) {
+                alt3=1;
             }
+            else if ( (LA3_0==19) ) {
+                alt3=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 3, 0, input);
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
+                throw nvae;
+            }
+            switch (alt3) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:814:1: ( 'E' )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:814:1: ( 'E' )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:815:1: 'E'
+                    {
+                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
+                    match(input,18,FollowSets000.FOLLOW_18_in_rule__EDouble__Alternatives_4_01643); 
+                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_0()); 
 
-        }
-        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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7788:1: rule__ModelVariableConfigurationRange__Group__5__Impl : ( 'minValue' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__5__Impl() throws RecognitionException {
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:822:6: ( 'e' )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:822:6: ( 'e' )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:823:1: 'e'
+                    {
+                     before(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+                    match(input,19,FollowSets000.FOLLOW_19_in_rule__EDouble__Alternatives_4_01663); 
+                     after(grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
 
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7792:1: ( ( 'minValue' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7793:1: ( 'minValue' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7793:1: ( 'minValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7794:1: 'minValue'
-            {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); 
-            match(input,65,FollowSets000.FOLLOW_65_in_rule__ModelVariableConfigurationRange__Group__5__Impl15435); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5()); 
+                    }
 
-            }
 
+                    }
+                    break;
 
             }
-
         }
         catch (RecognitionException re) {
             reportError(re);
@@ -19888,26 +2104,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__5__Impl"
+    // $ANTLR end "rule__EDouble__Alternatives_4_0"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7807:1: rule__ModelVariableConfigurationRange__Group__6 : rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7 ;
-    public final void rule__ModelVariableConfigurationRange__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:837: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7811:1: ( rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7812:2: rule__ModelVariableConfigurationRange__Group__6__Impl rule__ModelVariableConfigurationRange__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:841:1: ( rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:842:2: rule__AdaptationProcess__Group__0__Impl rule__AdaptationProcess__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__6__Impl_in_rule__ModelVariableConfigurationRange__Group__615466);
-            rule__ModelVariableConfigurationRange__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__01695);
+            rule__AdaptationProcess__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__7_in_rule__ModelVariableConfigurationRange__Group__615469);
-            rule__ModelVariableConfigurationRange__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__01698);
+            rule__AdaptationProcess__Group__1();
 
             state._fsp--;
 
@@ -19926,35 +2142,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__6"
+    // $ANTLR end "rule__AdaptationProcess__Group__0"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7819:1: rule__ModelVariableConfigurationRange__Group__6__Impl : ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:849: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7823:1: ( ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7824:1: ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:853:1: ( ( 'AdaptationProcess' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:854:1: ( 'AdaptationProcess' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7824:1: ( ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7825:1: ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:854:1: ( 'AdaptationProcess' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:855:1: 'AdaptationProcess'
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7826:1: ( rule__ModelVariableConfigurationRange__MinValueAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7826:2: rule__ModelVariableConfigurationRange__MinValueAssignment_6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__MinValueAssignment_6_in_rule__ModelVariableConfigurationRange__Group__6__Impl15496);
-            rule__ModelVariableConfigurationRange__MinValueAssignment_6();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6()); 
+             before(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__AdaptationProcess__Group__0__Impl1726); 
+             after(grammarAccess.getAdaptationProcessAccess().getAdaptationProcessKeyword_0()); 
 
             }
 
@@ -19973,26 +2179,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__6__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__0__Impl"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7836:1: rule__ModelVariableConfigurationRange__Group__7 : rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8 ;
-    public final void rule__ModelVariableConfigurationRange__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:868: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7840:1: ( rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7841:2: rule__ModelVariableConfigurationRange__Group__7__Impl rule__ModelVariableConfigurationRange__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:872:1: ( rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:873:2: rule__AdaptationProcess__Group__1__Impl rule__AdaptationProcess__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__7__Impl_in_rule__ModelVariableConfigurationRange__Group__715526);
-            rule__ModelVariableConfigurationRange__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__11757);
+            rule__AdaptationProcess__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__8_in_rule__ModelVariableConfigurationRange__Group__715529);
-            rule__ModelVariableConfigurationRange__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__11760);
+            rule__AdaptationProcess__Group__2();
 
             state._fsp--;
 
@@ -20011,25 +2217,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__7"
+    // $ANTLR end "rule__AdaptationProcess__Group__1"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7848:1: rule__ModelVariableConfigurationRange__Group__7__Impl : ( 'maxValue' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:880:1: rule__AdaptationProcess__Group__1__Impl : ( ( rule__AdaptationProcess__NameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7852:1: ( ( 'maxValue' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7853:1: ( 'maxValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:884:1: ( ( ( rule__AdaptationProcess__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:885:1: ( ( rule__AdaptationProcess__NameAssignment_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:885:1: ( ( rule__AdaptationProcess__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:886:1: ( rule__AdaptationProcess__NameAssignment_1 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7853:1: ( 'maxValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7854:1: 'maxValue'
+             before(grammarAccess.getAdaptationProcessAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:887:1: ( rule__AdaptationProcess__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:887:2: rule__AdaptationProcess__NameAssignment_1
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); 
-            match(input,66,FollowSets000.FOLLOW_66_in_rule__ModelVariableConfigurationRange__Group__7__Impl15557); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7()); 
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__NameAssignment_1_in_rule__AdaptationProcess__Group__1__Impl1787);
+            rule__AdaptationProcess__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getNameAssignment_1()); 
 
             }
 
@@ -20048,26 +2264,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__7__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__1__Impl"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7867:1: rule__ModelVariableConfigurationRange__Group__8 : rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9 ;
-    public final void rule__ModelVariableConfigurationRange__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:897: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7871:1: ( rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7872:2: rule__ModelVariableConfigurationRange__Group__8__Impl rule__ModelVariableConfigurationRange__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:901:1: ( rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:902:2: rule__AdaptationProcess__Group__2__Impl rule__AdaptationProcess__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__8__Impl_in_rule__ModelVariableConfigurationRange__Group__815588);
-            rule__ModelVariableConfigurationRange__Group__8__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__21817);
+            rule__AdaptationProcess__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__9_in_rule__ModelVariableConfigurationRange__Group__815591);
-            rule__ModelVariableConfigurationRange__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__21820);
+            rule__AdaptationProcess__Group__3();
 
             state._fsp--;
 
@@ -20086,35 +2302,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__8"
+    // $ANTLR end "rule__AdaptationProcess__Group__2"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7879:1: rule__ModelVariableConfigurationRange__Group__8__Impl : ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:909: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7883:1: ( ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7884:1: ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:913:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:914:1: ( '{' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7884:1: ( ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7885:1: ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:914:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:915:1: '{'
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7886:1: ( rule__ModelVariableConfigurationRange__MaxValueAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7886:2: rule__ModelVariableConfigurationRange__MaxValueAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__MaxValueAssignment_8_in_rule__ModelVariableConfigurationRange__Group__8__Impl15618);
-            rule__ModelVariableConfigurationRange__MaxValueAssignment_8();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8()); 
+             before(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AdaptationProcess__Group__2__Impl1848); 
+             after(grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -20133,26 +2339,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__8__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__2__Impl"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7896:1: rule__ModelVariableConfigurationRange__Group__9 : rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10 ;
-    public final void rule__ModelVariableConfigurationRange__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:928: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7900:1: ( rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7901:2: rule__ModelVariableConfigurationRange__Group__9__Impl rule__ModelVariableConfigurationRange__Group__10
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:932:1: ( rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:933:2: rule__AdaptationProcess__Group__3__Impl rule__AdaptationProcess__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__9__Impl_in_rule__ModelVariableConfigurationRange__Group__915648);
-            rule__ModelVariableConfigurationRange__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__31879);
+            rule__AdaptationProcess__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__10_in_rule__ModelVariableConfigurationRange__Group__915651);
-            rule__ModelVariableConfigurationRange__Group__10();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__31882);
+            rule__AdaptationProcess__Group__4();
 
             state._fsp--;
 
@@ -20171,25 +2377,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__9"
+    // $ANTLR end "rule__AdaptationProcess__Group__3"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7908:1: rule__ModelVariableConfigurationRange__Group__9__Impl : ( 'adaptableEntity' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:940:1: rule__AdaptationProcess__Group__3__Impl : ( 'goal' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7912:1: ( ( 'adaptableEntity' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7913:1: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:944:1: ( ( 'goal' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:945:1: ( 'goal' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7913:1: ( 'adaptableEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7914:1: 'adaptableEntity'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:945:1: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:946:1: 'goal'
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); 
-            match(input,67,FollowSets000.FOLLOW_67_in_rule__ModelVariableConfigurationRange__Group__9__Impl15679); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9()); 
+             before(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3()); 
+            match(input,22,FollowSets000.FOLLOW_22_in_rule__AdaptationProcess__Group__3__Impl1910); 
+             after(grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3()); 
 
             }
 
@@ -20208,26 +2414,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__9__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__3__Impl"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7927:1: rule__ModelVariableConfigurationRange__Group__10 : rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11 ;
-    public final void rule__ModelVariableConfigurationRange__Group__10() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:959: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7931:1: ( rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7932:2: rule__ModelVariableConfigurationRange__Group__10__Impl rule__ModelVariableConfigurationRange__Group__11
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:963:1: ( rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:964:2: rule__AdaptationProcess__Group__4__Impl rule__AdaptationProcess__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__10__Impl_in_rule__ModelVariableConfigurationRange__Group__1015710);
-            rule__ModelVariableConfigurationRange__Group__10__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__41941);
+            rule__AdaptationProcess__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__11_in_rule__ModelVariableConfigurationRange__Group__1015713);
-            rule__ModelVariableConfigurationRange__Group__11();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__41944);
+            rule__AdaptationProcess__Group__5();
 
             state._fsp--;
 
@@ -20246,35 +2452,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__10"
+    // $ANTLR end "rule__AdaptationProcess__Group__4"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__10__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7939:1: rule__ModelVariableConfigurationRange__Group__10__Impl : ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__10__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:971:1: rule__AdaptationProcess__Group__4__Impl : ( ( rule__AdaptationProcess__GoalAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7943:1: ( ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7944:1: ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:975:1: ( ( ( rule__AdaptationProcess__GoalAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:976:1: ( ( rule__AdaptationProcess__GoalAssignment_4 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7944:1: ( ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7945:1: ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:976:1: ( ( rule__AdaptationProcess__GoalAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:977:1: ( rule__AdaptationProcess__GoalAssignment_4 )
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7946:1: ( rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7946:2: rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10
+             before(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:978:1: ( rule__AdaptationProcess__GoalAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:978:2: rule__AdaptationProcess__GoalAssignment_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10_in_rule__ModelVariableConfigurationRange__Group__10__Impl15740);
-            rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__GoalAssignment_4_in_rule__AdaptationProcess__Group__4__Impl1971);
+            rule__AdaptationProcess__GoalAssignment_4();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10()); 
+             after(grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4()); 
 
             }
 
@@ -20293,21 +2499,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__10__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__4__Impl"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__11"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7956:1: rule__ModelVariableConfigurationRange__Group__11 : rule__ModelVariableConfigurationRange__Group__11__Impl ;
-    public final void rule__ModelVariableConfigurationRange__Group__11() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:988: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7960:1: ( rule__ModelVariableConfigurationRange__Group__11__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7961:2: rule__ModelVariableConfigurationRange__Group__11__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:992:1: ( rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:993:2: rule__AdaptationProcess__Group__5__Impl rule__AdaptationProcess__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelVariableConfigurationRange__Group__11__Impl_in_rule__ModelVariableConfigurationRange__Group__1115770);
-            rule__ModelVariableConfigurationRange__Group__11__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52001);
+            rule__AdaptationProcess__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52004);
+            rule__AdaptationProcess__Group__6();
 
             state._fsp--;
 
@@ -20326,25 +2537,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__11"
+    // $ANTLR end "rule__AdaptationProcess__Group__5"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__Group__11__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7967:1: rule__ModelVariableConfigurationRange__Group__11__Impl : ( '}' ) ;
-    public final void rule__ModelVariableConfigurationRange__Group__11__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1000:1: rule__AdaptationProcess__Group__5__Impl : ( 'actions' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7971:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7972:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1004:1: ( ( 'actions' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1005:1: ( 'actions' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7972:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:7973:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1005:1: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1006:1: 'actions'
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ModelVariableConfigurationRange__Group__11__Impl15798); 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11()); 
+             before(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__AdaptationProcess__Group__5__Impl2032); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5()); 
 
             }
 
@@ -20363,26 +2574,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__Group__11__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__5__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8010:1: rule__ModelEntityConfigurationRange__Group__0 : rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1 ;
-    public final void rule__ModelEntityConfigurationRange__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1019: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8014:1: ( rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8015:2: rule__ModelEntityConfigurationRange__Group__0__Impl rule__ModelEntityConfigurationRange__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1023:1: ( rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1024:2: rule__AdaptationProcess__Group__6__Impl rule__AdaptationProcess__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__0__Impl_in_rule__ModelEntityConfigurationRange__Group__015853);
-            rule__ModelEntityConfigurationRange__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62063);
+            rule__AdaptationProcess__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__1_in_rule__ModelEntityConfigurationRange__Group__015856);
-            rule__ModelEntityConfigurationRange__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62066);
+            rule__AdaptationProcess__Group__7();
 
             state._fsp--;
 
@@ -20401,25 +2612,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__0"
+    // $ANTLR end "rule__AdaptationProcess__Group__6"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8022:1: rule__ModelEntityConfigurationRange__Group__0__Impl : ( 'ModelEntityConfigurationRange' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1031: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8026:1: ( ( 'ModelEntityConfigurationRange' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8027:1: ( 'ModelEntityConfigurationRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1035:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1036:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8027:1: ( 'ModelEntityConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8028:1: 'ModelEntityConfigurationRange'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1036:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1037:1: ':'
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); 
-            match(input,68,FollowSets000.FOLLOW_68_in_rule__ModelEntityConfigurationRange__Group__0__Impl15884); 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0()); 
+             before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_6()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group__6__Impl2094); 
+             after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_6()); 
 
             }
 
@@ -20438,26 +2649,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__0__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__6__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8041:1: rule__ModelEntityConfigurationRange__Group__1 : rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2 ;
-    public final void rule__ModelEntityConfigurationRange__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1050: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8045:1: ( rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8046:2: rule__ModelEntityConfigurationRange__Group__1__Impl rule__ModelEntityConfigurationRange__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1054:1: ( rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1055:2: rule__AdaptationProcess__Group__7__Impl rule__AdaptationProcess__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__1__Impl_in_rule__ModelEntityConfigurationRange__Group__115915);
-            rule__ModelEntityConfigurationRange__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72125);
+            rule__AdaptationProcess__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__2_in_rule__ModelEntityConfigurationRange__Group__115918);
-            rule__ModelEntityConfigurationRange__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72128);
+            rule__AdaptationProcess__Group__8();
 
             state._fsp--;
 
@@ -20476,35 +2687,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__1"
+    // $ANTLR end "rule__AdaptationProcess__Group__7"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8053:1: rule__ModelEntityConfigurationRange__Group__1__Impl : ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1062:1: rule__AdaptationProcess__Group__7__Impl : ( ( rule__AdaptationProcess__ActionsAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8057:1: ( ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8058:1: ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1066:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1067:1: ( ( rule__AdaptationProcess__ActionsAssignment_7 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8058:1: ( ( rule__ModelEntityConfigurationRange__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8059:1: ( rule__ModelEntityConfigurationRange__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1067:1: ( ( rule__AdaptationProcess__ActionsAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1068:1: ( rule__AdaptationProcess__ActionsAssignment_7 )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8060:1: ( rule__ModelEntityConfigurationRange__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8060:2: rule__ModelEntityConfigurationRange__IdAssignment_1
+             before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1069:1: ( rule__AdaptationProcess__ActionsAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1069:2: rule__AdaptationProcess__ActionsAssignment_7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__IdAssignment_1_in_rule__ModelEntityConfigurationRange__Group__1__Impl15945);
-            rule__ModelEntityConfigurationRange__IdAssignment_1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2155);
+            rule__AdaptationProcess__ActionsAssignment_7();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1()); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7()); 
 
             }
 
@@ -20523,26 +2734,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__1__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__7__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8070:1: rule__ModelEntityConfigurationRange__Group__2 : rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3 ;
-    public final void rule__ModelEntityConfigurationRange__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1079: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8074:1: ( rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8075:2: rule__ModelEntityConfigurationRange__Group__2__Impl rule__ModelEntityConfigurationRange__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1083:1: ( rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1084:2: rule__AdaptationProcess__Group__8__Impl rule__AdaptationProcess__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__2__Impl_in_rule__ModelEntityConfigurationRange__Group__215975);
-            rule__ModelEntityConfigurationRange__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82185);
+            rule__AdaptationProcess__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__3_in_rule__ModelEntityConfigurationRange__Group__215978);
-            rule__ModelEntityConfigurationRange__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82188);
+            rule__AdaptationProcess__Group__9();
 
             state._fsp--;
 
@@ -20561,100 +2772,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__2"
+    // $ANTLR end "rule__AdaptationProcess__Group__8"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8082:1: rule__ModelEntityConfigurationRange__Group__2__Impl : ( '{' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1091: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8086:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8087:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1095:1: ( ( ( rule__AdaptationProcess__Group_8__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1096:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8087:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8088:1: '{'
-            {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__ModelEntityConfigurationRange__Group__2__Impl16006); 
-             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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8101: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8105:1: ( rule__ModelEntityConfigurationRange__Group__3__Impl rule__ModelEntityConfigurationRange__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8106:2: rule__ModelEntityConfigurationRange__Group__3__Impl rule__ModelEntityConfigurationRange__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1096:1: ( ( rule__AdaptationProcess__Group_8__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1097:1: ( rule__AdaptationProcess__Group_8__0 )*
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__3__Impl_in_rule__ModelEntityConfigurationRange__Group__316037);
-            rule__ModelEntityConfigurationRange__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__4_in_rule__ModelEntityConfigurationRange__Group__316040);
-            rule__ModelEntityConfigurationRange__Group__4();
-
-            state._fsp--;
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1098:1: ( rule__AdaptationProcess__Group_8__0 )*
+            loop4:
+            do {
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
+                if ( (LA4_0==28) ) {
+                    alt4=1;
+                }
 
-            }
 
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
+                switch (alt4) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1098:2: rule__AdaptationProcess__Group_8__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2215);
+            	    rule__AdaptationProcess__Group_8__0();
 
-            	restoreStackSize(stackSize);
+            	    state._fsp--;
 
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__3"
 
+            	    }
+            	    break;
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8113:1: rule__ModelEntityConfigurationRange__Group__3__Impl : ( 'name' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__3__Impl() throws RecognitionException {
+            	default :
+            	    break loop4;
+                }
+            } while (true);
 
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8117:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8118:1: ( 'name' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8118:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8119:1: 'name'
-            {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__ModelEntityConfigurationRange__Group__3__Impl16068); 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3()); 
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_8()); 
 
             }
 
@@ -20673,26 +2837,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__3__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__8__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8132:1: rule__ModelEntityConfigurationRange__Group__4 : rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5 ;
-    public final void rule__ModelEntityConfigurationRange__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1108: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8136:1: ( rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8137:2: rule__ModelEntityConfigurationRange__Group__4__Impl rule__ModelEntityConfigurationRange__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1112:1: ( rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1113:2: rule__AdaptationProcess__Group__9__Impl rule__AdaptationProcess__Group__10
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__4__Impl_in_rule__ModelEntityConfigurationRange__Group__416099);
-            rule__ModelEntityConfigurationRange__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92246);
+            rule__AdaptationProcess__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__5_in_rule__ModelEntityConfigurationRange__Group__416102);
-            rule__ModelEntityConfigurationRange__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92249);
+            rule__AdaptationProcess__Group__10();
 
             state._fsp--;
 
@@ -20711,35 +2875,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__4"
+    // $ANTLR end "rule__AdaptationProcess__Group__9"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8144:1: rule__ModelEntityConfigurationRange__Group__4__Impl : ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1120:1: rule__AdaptationProcess__Group__9__Impl : ( 'tactics' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8148:1: ( ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8149:1: ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8149:1: ( ( rule__ModelEntityConfigurationRange__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8150:1: ( rule__ModelEntityConfigurationRange__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1124:1: ( ( 'tactics' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1125:1: ( 'tactics' )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8151:1: ( rule__ModelEntityConfigurationRange__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8151:2: rule__ModelEntityConfigurationRange__NameAssignment_4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1125:1: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1126:1: 'tactics'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__NameAssignment_4_in_rule__ModelEntityConfigurationRange__Group__4__Impl16129);
-            rule__ModelEntityConfigurationRange__NameAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4()); 
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AdaptationProcess__Group__9__Impl2277); 
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9()); 
 
             }
 
@@ -20758,26 +2912,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__4__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__9__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8161:1: rule__ModelEntityConfigurationRange__Group__5 : rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6 ;
-    public final void rule__ModelEntityConfigurationRange__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1139: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8165:1: ( rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8166:2: rule__ModelEntityConfigurationRange__Group__5__Impl rule__ModelEntityConfigurationRange__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1143:1: ( rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1144:2: rule__AdaptationProcess__Group__10__Impl rule__AdaptationProcess__Group__11
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__5__Impl_in_rule__ModelEntityConfigurationRange__Group__516159);
-            rule__ModelEntityConfigurationRange__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102308);
+            rule__AdaptationProcess__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__6_in_rule__ModelEntityConfigurationRange__Group__516162);
-            rule__ModelEntityConfigurationRange__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102311);
+            rule__AdaptationProcess__Group__11();
 
             state._fsp--;
 
@@ -20796,25 +2950,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__5"
+    // $ANTLR end "rule__AdaptationProcess__Group__10"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8173:1: rule__ModelEntityConfigurationRange__Group__5__Impl : ( 'adaptableEntity' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1151:1: rule__AdaptationProcess__Group__10__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8177:1: ( ( 'adaptableEntity' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8178:1: ( 'adaptableEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1155:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1156:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8178:1: ( 'adaptableEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8179:1: 'adaptableEntity'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1156:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1157:1: ':'
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); 
-            match(input,67,FollowSets000.FOLLOW_67_in_rule__ModelEntityConfigurationRange__Group__5__Impl16190); 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5()); 
+             before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_10()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group__10__Impl2339); 
+             after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_10()); 
 
             }
 
@@ -20833,26 +2987,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__5__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__10__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8192:1: rule__ModelEntityConfigurationRange__Group__6 : rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7 ;
-    public final void rule__ModelEntityConfigurationRange__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1170: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8196:1: ( rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8197:2: rule__ModelEntityConfigurationRange__Group__6__Impl rule__ModelEntityConfigurationRange__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1174:1: ( rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1175:2: rule__AdaptationProcess__Group__11__Impl rule__AdaptationProcess__Group__12
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__6__Impl_in_rule__ModelEntityConfigurationRange__Group__616221);
-            rule__ModelEntityConfigurationRange__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__112370);
+            rule__AdaptationProcess__Group__11__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__7_in_rule__ModelEntityConfigurationRange__Group__616224);
-            rule__ModelEntityConfigurationRange__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__112373);
+            rule__AdaptationProcess__Group__12();
 
             state._fsp--;
 
@@ -20871,35 +3025,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__6"
+    // $ANTLR end "rule__AdaptationProcess__Group__11"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8204:1: rule__ModelEntityConfigurationRange__Group__6__Impl : ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1182:1: rule__AdaptationProcess__Group__11__Impl : ( ( rule__AdaptationProcess__TacticsAssignment_11 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8208:1: ( ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8209:1: ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1186:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_11 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1187:1: ( ( rule__AdaptationProcess__TacticsAssignment_11 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8209:1: ( ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8210:1: ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1187:1: ( ( rule__AdaptationProcess__TacticsAssignment_11 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1188:1: ( rule__AdaptationProcess__TacticsAssignment_11 )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8211:1: ( rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8211:2: rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1189:1: ( rule__AdaptationProcess__TacticsAssignment_11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1189:2: rule__AdaptationProcess__TacticsAssignment_11
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6_in_rule__ModelEntityConfigurationRange__Group__6__Impl16251);
-            rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_11_in_rule__AdaptationProcess__Group__11__Impl2400);
+            rule__AdaptationProcess__TacticsAssignment_11();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6()); 
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11()); 
 
             }
 
@@ -20918,26 +3072,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__6__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__11__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8221:1: rule__ModelEntityConfigurationRange__Group__7 : rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8 ;
-    public final void rule__ModelEntityConfigurationRange__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1199: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8225:1: ( rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8226:2: rule__ModelEntityConfigurationRange__Group__7__Impl rule__ModelEntityConfigurationRange__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1203:1: ( rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1204:2: rule__AdaptationProcess__Group__12__Impl rule__AdaptationProcess__Group__13
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__7__Impl_in_rule__ModelEntityConfigurationRange__Group__716281);
-            rule__ModelEntityConfigurationRange__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__122430);
+            rule__AdaptationProcess__Group__12__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__8_in_rule__ModelEntityConfigurationRange__Group__716284);
-            rule__ModelEntityConfigurationRange__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__122433);
+            rule__AdaptationProcess__Group__13();
 
             state._fsp--;
 
@@ -20956,25 +3110,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__7"
+    // $ANTLR end "rule__AdaptationProcess__Group__12"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8233:1: rule__ModelEntityConfigurationRange__Group__7__Impl : ( 'variationPossibility' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1211:1: rule__AdaptationProcess__Group__12__Impl : ( ( rule__AdaptationProcess__Group_12__0 )* ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8237:1: ( ( 'variationPossibility' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8238:1: ( 'variationPossibility' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1215:1: ( ( ( rule__AdaptationProcess__Group_12__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1216:1: ( ( rule__AdaptationProcess__Group_12__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8238:1: ( 'variationPossibility' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8239:1: 'variationPossibility'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1216:1: ( ( rule__AdaptationProcess__Group_12__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1217:1: ( rule__AdaptationProcess__Group_12__0 )*
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); 
-            match(input,69,FollowSets000.FOLLOW_69_in_rule__ModelEntityConfigurationRange__Group__7__Impl16312); 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7()); 
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_12()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1218:1: ( rule__AdaptationProcess__Group_12__0 )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
+
+                if ( (LA5_0==28) ) {
+                    alt5=1;
+                }
+
+
+                switch (alt5) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1218:2: rule__AdaptationProcess__Group_12__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_12__0_in_rule__AdaptationProcess__Group__12__Impl2460);
+            	    rule__AdaptationProcess__Group_12__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_12()); 
 
             }
 
@@ -20993,26 +3175,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__7__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__12__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8252:1: rule__ModelEntityConfigurationRange__Group__8 : rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9 ;
-    public final void rule__ModelEntityConfigurationRange__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__13"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1228: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8256:1: ( rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8257:2: rule__ModelEntityConfigurationRange__Group__8__Impl rule__ModelEntityConfigurationRange__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1232:1: ( rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1233:2: rule__AdaptationProcess__Group__13__Impl rule__AdaptationProcess__Group__14
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__8__Impl_in_rule__ModelEntityConfigurationRange__Group__816343);
-            rule__ModelEntityConfigurationRange__Group__8__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__132491);
+            rule__AdaptationProcess__Group__13__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__9_in_rule__ModelEntityConfigurationRange__Group__816346);
-            rule__ModelEntityConfigurationRange__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__132494);
+            rule__AdaptationProcess__Group__14();
 
             state._fsp--;
 
@@ -21031,35 +3213,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__8"
+    // $ANTLR end "rule__AdaptationProcess__Group__13"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8264:1: rule__ModelEntityConfigurationRange__Group__8__Impl : ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__13__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1240:1: rule__AdaptationProcess__Group__13__Impl : ( 'strategies' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8268:1: ( ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8269:1: ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1244:1: ( ( 'strategies' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1245:1: ( 'strategies' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8269:1: ( ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8270:1: ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1245:1: ( 'strategies' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1246:1: 'strategies'
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8271:1: ( rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8271:2: rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8_in_rule__ModelEntityConfigurationRange__Group__8__Impl16373);
-            rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8()); 
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13()); 
+            match(input,26,FollowSets000.FOLLOW_26_in_rule__AdaptationProcess__Group__13__Impl2522); 
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13()); 
 
             }
 
@@ -21078,21 +3250,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__8__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__13__Impl"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8281:1: rule__ModelEntityConfigurationRange__Group__9 : rule__ModelEntityConfigurationRange__Group__9__Impl ;
-    public final void rule__ModelEntityConfigurationRange__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__14"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1259: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8285:1: ( rule__ModelEntityConfigurationRange__Group__9__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8286:2: rule__ModelEntityConfigurationRange__Group__9__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1263:1: ( rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1264:2: rule__AdaptationProcess__Group__14__Impl rule__AdaptationProcess__Group__15
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ModelEntityConfigurationRange__Group__9__Impl_in_rule__ModelEntityConfigurationRange__Group__916403);
-            rule__ModelEntityConfigurationRange__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__142553);
+            rule__AdaptationProcess__Group__14__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__142556);
+            rule__AdaptationProcess__Group__15();
 
             state._fsp--;
 
@@ -21111,25 +3288,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__9"
+    // $ANTLR end "rule__AdaptationProcess__Group__14"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8292:1: rule__ModelEntityConfigurationRange__Group__9__Impl : ( '}' ) ;
-    public final void rule__ModelEntityConfigurationRange__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__14__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1271: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8296:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8297:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1275:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1276:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8297:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8298:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1276:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1277:1: ':'
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ModelEntityConfigurationRange__Group__9__Impl16431); 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9()); 
+             before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_14()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group__14__Impl2584); 
+             after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_14()); 
 
             }
 
@@ -21148,26 +3325,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__Group__9__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__14__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8331:1: rule__EDouble__Group__0 : rule__EDouble__Group__0__Impl rule__EDouble__Group__1 ;
-    public final void rule__EDouble__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1290: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8335:1: ( rule__EDouble__Group__0__Impl rule__EDouble__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8336:2: rule__EDouble__Group__0__Impl rule__EDouble__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1294:1: ( rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1295:2: rule__AdaptationProcess__Group__15__Impl rule__AdaptationProcess__Group__16
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__016482);
-            rule__EDouble__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__152615);
+            rule__AdaptationProcess__Group__15__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__016485);
-            rule__EDouble__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__152618);
+            rule__AdaptationProcess__Group__16();
 
             state._fsp--;
 
@@ -21186,42 +3363,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__0"
+    // $ANTLR end "rule__AdaptationProcess__Group__15"
 
 
-    // $ANTLR start "rule__EDouble__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8343:1: rule__EDouble__Group__0__Impl : ( ( '-' )? ) ;
-    public final void rule__EDouble__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__15__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1302:1: rule__AdaptationProcess__Group__15__Impl : ( ( rule__AdaptationProcess__StrategiesAssignment_15 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8347:1: ( ( ( '-' )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8348:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1306:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_15 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1307:1: ( ( rule__AdaptationProcess__StrategiesAssignment_15 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8348:1: ( ( '-' )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8349:1: ( '-' )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1307:1: ( ( rule__AdaptationProcess__StrategiesAssignment_15 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1308:1: ( rule__AdaptationProcess__StrategiesAssignment_15 )
             {
-             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8350:1: ( '-' )?
-            int alt33=2;
-            int LA33_0 = input.LA(1);
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1309:1: ( rule__AdaptationProcess__StrategiesAssignment_15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1309:2: rule__AdaptationProcess__StrategiesAssignment_15
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_15_in_rule__AdaptationProcess__Group__15__Impl2645);
+            rule__AdaptationProcess__StrategiesAssignment_15();
 
-            if ( (LA33_0==60) ) {
-                alt33=1;
-            }
-            switch (alt33) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8351:2: '-'
-                    {
-                    match(input,60,FollowSets000.FOLLOW_60_in_rule__EDouble__Group__0__Impl16514); 
+            state._fsp--;
 
-                    }
-                    break;
 
             }
 
-             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15()); 
 
             }
 
@@ -21240,26 +3410,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__0__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__15__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8362:1: rule__EDouble__Group__1 : rule__EDouble__Group__1__Impl rule__EDouble__Group__2 ;
-    public final void rule__EDouble__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__16"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1319: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8366:1: ( rule__EDouble__Group__1__Impl rule__EDouble__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8367:2: rule__EDouble__Group__1__Impl rule__EDouble__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1323:1: ( rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1324:2: rule__AdaptationProcess__Group__16__Impl rule__AdaptationProcess__Group__17
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__116547);
-            rule__EDouble__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__162675);
+            rule__AdaptationProcess__Group__16__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__116550);
-            rule__EDouble__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__162678);
+            rule__AdaptationProcess__Group__17();
 
             state._fsp--;
 
@@ -21278,42 +3448,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__1"
+    // $ANTLR end "rule__AdaptationProcess__Group__16"
 
 
-    // $ANTLR start "rule__EDouble__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8374:1: rule__EDouble__Group__1__Impl : ( ( RULE_INT )? ) ;
-    public final void rule__EDouble__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__16__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1331:1: rule__AdaptationProcess__Group__16__Impl : ( ( rule__AdaptationProcess__Group_16__0 )* ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8378:1: ( ( ( RULE_INT )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8379:1: ( ( RULE_INT )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1335:1: ( ( ( rule__AdaptationProcess__Group_16__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1336:1: ( ( rule__AdaptationProcess__Group_16__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8379:1: ( ( RULE_INT )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8380:1: ( RULE_INT )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1336:1: ( ( rule__AdaptationProcess__Group_16__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1337:1: ( rule__AdaptationProcess__Group_16__0 )*
             {
-             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8381:1: ( RULE_INT )?
-            int alt34=2;
-            int LA34_0 = input.LA(1);
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_16()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1338:1: ( rule__AdaptationProcess__Group_16__0 )*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8381:3: RULE_INT
-                    {
-                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl16578); 
+                if ( (LA6_0==28) ) {
+                    alt6=1;
+                }
 
-                    }
-                    break;
 
-            }
+                switch (alt6) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1338:2: rule__AdaptationProcess__Group_16__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_16__0_in_rule__AdaptationProcess__Group__16__Impl2705);
+            	    rule__AdaptationProcess__Group_16__0();
 
-             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop6;
+                }
+            } while (true);
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_16()); 
 
             }
 
@@ -21332,26 +3513,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__1__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__16__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8391:1: rule__EDouble__Group__2 : rule__EDouble__Group__2__Impl rule__EDouble__Group__3 ;
-    public final void rule__EDouble__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__17"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1348: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8395:1: ( rule__EDouble__Group__2__Impl rule__EDouble__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8396:2: rule__EDouble__Group__2__Impl rule__EDouble__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1352:1: ( rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1353:2: rule__AdaptationProcess__Group__17__Impl rule__AdaptationProcess__Group__18
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__216609);
-            rule__EDouble__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__172736);
+            rule__AdaptationProcess__Group__17__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__216612);
-            rule__EDouble__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__172739);
+            rule__AdaptationProcess__Group__18();
 
             state._fsp--;
 
@@ -21370,25 +3551,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__2"
+    // $ANTLR end "rule__AdaptationProcess__Group__17"
 
 
-    // $ANTLR start "rule__EDouble__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8403:1: rule__EDouble__Group__2__Impl : ( '.' ) ;
-    public final void rule__EDouble__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__17__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1360:1: rule__AdaptationProcess__Group__17__Impl : ( ( rule__AdaptationProcess__Group_17__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8407:1: ( ( '.' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8408:1: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1364:1: ( ( ( rule__AdaptationProcess__Group_17__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1365:1: ( ( rule__AdaptationProcess__Group_17__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8408:1: ( '.' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8409:1: '.'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1365:1: ( ( rule__AdaptationProcess__Group_17__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1366:1: ( rule__AdaptationProcess__Group_17__0 )?
             {
-             before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
-            match(input,70,FollowSets000.FOLLOW_70_in_rule__EDouble__Group__2__Impl16640); 
-             after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_17()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1367:1: ( rule__AdaptationProcess__Group_17__0 )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+
+            if ( (LA7_0==29) ) {
+                alt7=1;
+            }
+            switch (alt7) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1367:2: rule__AdaptationProcess__Group_17__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__0_in_rule__AdaptationProcess__Group__17__Impl2766);
+                    rule__AdaptationProcess__Group_17__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_17()); 
 
             }
 
@@ -21407,26 +3609,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__2__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__17__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8422:1: rule__EDouble__Group__3 : rule__EDouble__Group__3__Impl rule__EDouble__Group__4 ;
-    public final void rule__EDouble__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__18"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1377:1: rule__AdaptationProcess__Group__18 : rule__AdaptationProcess__Group__18__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8426:1: ( rule__EDouble__Group__3__Impl rule__EDouble__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8427:2: rule__EDouble__Group__3__Impl rule__EDouble__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1381:1: ( rule__AdaptationProcess__Group__18__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1382:2: rule__AdaptationProcess__Group__18__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__316671);
-            rule__EDouble__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__316674);
-            rule__EDouble__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__182797);
+            rule__AdaptationProcess__Group__18__Impl();
 
             state._fsp--;
 
@@ -21445,25 +3642,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__3"
+    // $ANTLR end "rule__AdaptationProcess__Group__18"
 
 
-    // $ANTLR start "rule__EDouble__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8434:1: rule__EDouble__Group__3__Impl : ( RULE_INT ) ;
-    public final void rule__EDouble__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group__18__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1388:1: rule__AdaptationProcess__Group__18__Impl : ( '}' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8438:1: ( ( RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8439:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1392:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1393:1: ( '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8439:1: ( RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8440:1: RULE_INT
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1393:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1394:1: '}'
             {
-             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl16701); 
-             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+             before(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__AdaptationProcess__Group__18__Impl2825); 
+             after(grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18()); 
 
             }
 
@@ -21482,21 +3679,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__3__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group__18__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8451:1: rule__EDouble__Group__4 : rule__EDouble__Group__4__Impl ;
-    public final void rule__EDouble__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_8__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1445: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8455:1: ( rule__EDouble__Group__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8456:2: rule__EDouble__Group__4__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1449: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1450:2: rule__AdaptationProcess__Group_8__0__Impl rule__AdaptationProcess__Group_8__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__416730);
-            rule__EDouble__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__0__Impl_in_rule__AdaptationProcess__Group_8__02894);
+            rule__AdaptationProcess__Group_8__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__02897);
+            rule__AdaptationProcess__Group_8__1();
 
             state._fsp--;
 
@@ -21515,46 +3717,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__4"
+    // $ANTLR end "rule__AdaptationProcess__Group_8__0"
 
 
-    // $ANTLR start "rule__EDouble__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8462:1: rule__EDouble__Group__4__Impl : ( ( rule__EDouble__Group_4__0 )? ) ;
-    public final void rule__EDouble__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_8__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1457: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8466:1: ( ( ( rule__EDouble__Group_4__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8467:1: ( ( rule__EDouble__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1461:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1462:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8467:1: ( ( rule__EDouble__Group_4__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8468:1: ( rule__EDouble__Group_4__0 )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1462:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1463:1: ','
             {
-             before(grammarAccess.getEDoubleAccess().getGroup_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8469:1: ( rule__EDouble__Group_4__0 )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
-
-            if ( ((LA35_0>=14 && LA35_0<=15)) ) {
-                alt35=1;
-            }
-            switch (alt35) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8469:2: rule__EDouble__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl16757);
-                    rule__EDouble__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getEDoubleAccess().getGroup_4()); 
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationProcess__Group_8__0__Impl2925); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0()); 
 
             }
 
@@ -21573,26 +3754,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group__4__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_8__0__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8489: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 {
+    // $ANTLR start "rule__AdaptationProcess__Group_8__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1476: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8493: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8494:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1480:1: ( rule__AdaptationProcess__Group_8__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1481:2: rule__AdaptationProcess__Group_8__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__016798);
-            rule__EDouble__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__016801);
-            rule__EDouble__Group_4__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__12956);
+            rule__AdaptationProcess__Group_8__1__Impl();
 
             state._fsp--;
 
@@ -21611,35 +3787,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__0"
+    // $ANTLR end "rule__AdaptationProcess__Group_8__1"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8501:1: rule__EDouble__Group_4__0__Impl : ( ( rule__EDouble__Alternatives_4_0 ) ) ;
-    public final void rule__EDouble__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_8__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1487:1: rule__AdaptationProcess__Group_8__1__Impl : ( ( rule__AdaptationProcess__ActionsAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8505:1: ( ( ( rule__EDouble__Alternatives_4_0 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8506:1: ( ( rule__EDouble__Alternatives_4_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1491:1: ( ( ( rule__AdaptationProcess__ActionsAssignment_8_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1492:1: ( ( rule__AdaptationProcess__ActionsAssignment_8_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8506:1: ( ( rule__EDouble__Alternatives_4_0 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8507:1: ( rule__EDouble__Alternatives_4_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1492:1: ( ( rule__AdaptationProcess__ActionsAssignment_8_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1493:1: ( rule__AdaptationProcess__ActionsAssignment_8_1 )
             {
-             before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8508:1: ( rule__EDouble__Alternatives_4_0 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8508:2: rule__EDouble__Alternatives_4_0
+             before(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1494:1: ( rule__AdaptationProcess__ActionsAssignment_8_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1494:2: rule__AdaptationProcess__ActionsAssignment_8_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl16828);
-            rule__EDouble__Alternatives_4_0();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ActionsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl2983);
+            rule__AdaptationProcess__ActionsAssignment_8_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1()); 
 
             }
 
@@ -21658,26 +3834,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__0__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_8__1__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8518: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 {
+    // $ANTLR start "rule__AdaptationProcess__Group_12__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1508:1: rule__AdaptationProcess__Group_12__0 : rule__AdaptationProcess__Group_12__0__Impl rule__AdaptationProcess__Group_12__1 ;
+    public final void rule__AdaptationProcess__Group_12__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8522: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8523:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1512:1: ( rule__AdaptationProcess__Group_12__0__Impl rule__AdaptationProcess__Group_12__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1513:2: rule__AdaptationProcess__Group_12__0__Impl rule__AdaptationProcess__Group_12__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__116858);
-            rule__EDouble__Group_4__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_12__0__Impl_in_rule__AdaptationProcess__Group_12__03017);
+            rule__AdaptationProcess__Group_12__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__116861);
-            rule__EDouble__Group_4__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_12__1_in_rule__AdaptationProcess__Group_12__03020);
+            rule__AdaptationProcess__Group_12__1();
 
             state._fsp--;
 
@@ -21696,42 +3872,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__1"
+    // $ANTLR end "rule__AdaptationProcess__Group_12__0"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8530:1: rule__EDouble__Group_4__1__Impl : ( ( '-' )? ) ;
-    public final void rule__EDouble__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_12__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1520:1: rule__AdaptationProcess__Group_12__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_12__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8534:1: ( ( ( '-' )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8535:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1524:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1525:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8535:1: ( ( '-' )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8536:1: ( '-' )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1525:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1526:1: ','
             {
-             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8537:1: ( '-' )?
-            int alt36=2;
-            int LA36_0 = input.LA(1);
-
-            if ( (LA36_0==60) ) {
-                alt36=1;
-            }
-            switch (alt36) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8538:2: '-'
-                    {
-                    match(input,60,FollowSets000.FOLLOW_60_in_rule__EDouble__Group_4__1__Impl16890); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationProcess__Group_12__0__Impl3048); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0()); 
 
             }
 
@@ -21750,21 +3909,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__1__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_12__0__Impl"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8549:1: rule__EDouble__Group_4__2 : rule__EDouble__Group_4__2__Impl ;
-    public final void rule__EDouble__Group_4__2() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_12__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1539:1: rule__AdaptationProcess__Group_12__1 : rule__AdaptationProcess__Group_12__1__Impl ;
+    public final void rule__AdaptationProcess__Group_12__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8553:1: ( rule__EDouble__Group_4__2__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8554:2: rule__EDouble__Group_4__2__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1543:1: ( rule__AdaptationProcess__Group_12__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1544:2: rule__AdaptationProcess__Group_12__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__216923);
-            rule__EDouble__Group_4__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_12__1__Impl_in_rule__AdaptationProcess__Group_12__13079);
+            rule__AdaptationProcess__Group_12__1__Impl();
 
             state._fsp--;
 
@@ -21783,25 +3942,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__2"
+    // $ANTLR end "rule__AdaptationProcess__Group_12__1"
 
 
-    // $ANTLR start "rule__EDouble__Group_4__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8560:1: rule__EDouble__Group_4__2__Impl : ( RULE_INT ) ;
-    public final void rule__EDouble__Group_4__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_12__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1550:1: rule__AdaptationProcess__Group_12__1__Impl : ( ( rule__AdaptationProcess__TacticsAssignment_12_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_12__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8564:1: ( ( RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8565:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1554:1: ( ( ( rule__AdaptationProcess__TacticsAssignment_12_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1555:1: ( ( rule__AdaptationProcess__TacticsAssignment_12_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8565:1: ( RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8566:1: RULE_INT
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1555:1: ( ( rule__AdaptationProcess__TacticsAssignment_12_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1556:1: ( rule__AdaptationProcess__TacticsAssignment_12_1 )
             {
-             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl16950); 
-             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1557:1: ( rule__AdaptationProcess__TacticsAssignment_12_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1557:2: rule__AdaptationProcess__TacticsAssignment_12_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__TacticsAssignment_12_1_in_rule__AdaptationProcess__Group_12__1__Impl3106);
+            rule__AdaptationProcess__TacticsAssignment_12_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1()); 
 
             }
 
@@ -21820,26 +3989,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__EDouble__Group_4__2__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_12__1__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8583:1: rule__PropertyRange__Group__0 : rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1 ;
-    public final void rule__PropertyRange__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_16__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1571:1: rule__AdaptationProcess__Group_16__0 : rule__AdaptationProcess__Group_16__0__Impl rule__AdaptationProcess__Group_16__1 ;
+    public final void rule__AdaptationProcess__Group_16__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8587:1: ( rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8588:2: rule__PropertyRange__Group__0__Impl rule__PropertyRange__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1575:1: ( rule__AdaptationProcess__Group_16__0__Impl rule__AdaptationProcess__Group_16__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1576:2: rule__AdaptationProcess__Group_16__0__Impl rule__AdaptationProcess__Group_16__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__0__Impl_in_rule__PropertyRange__Group__016985);
-            rule__PropertyRange__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_16__0__Impl_in_rule__AdaptationProcess__Group_16__03140);
+            rule__AdaptationProcess__Group_16__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__1_in_rule__PropertyRange__Group__016988);
-            rule__PropertyRange__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_16__1_in_rule__AdaptationProcess__Group_16__03143);
+            rule__AdaptationProcess__Group_16__1();
 
             state._fsp--;
 
@@ -21858,25 +4027,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__0"
+    // $ANTLR end "rule__AdaptationProcess__Group_16__0"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8595:1: rule__PropertyRange__Group__0__Impl : ( 'PropertyRange' ) ;
-    public final void rule__PropertyRange__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_16__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1583:1: rule__AdaptationProcess__Group_16__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_16__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8599:1: ( ( 'PropertyRange' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8600:1: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1587:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1588:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8600:1: ( 'PropertyRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8601:1: 'PropertyRange'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1588:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1589:1: ','
             {
-             before(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); 
-            match(input,71,FollowSets000.FOLLOW_71_in_rule__PropertyRange__Group__0__Impl17016); 
-             after(grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0()); 
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationProcess__Group_16__0__Impl3171); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0()); 
 
             }
 
@@ -21895,26 +4064,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__0__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_16__0__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8614:1: rule__PropertyRange__Group__1 : rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2 ;
-    public final void rule__PropertyRange__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_16__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1602:1: rule__AdaptationProcess__Group_16__1 : rule__AdaptationProcess__Group_16__1__Impl ;
+    public final void rule__AdaptationProcess__Group_16__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8618:1: ( rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8619:2: rule__PropertyRange__Group__1__Impl rule__PropertyRange__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1606:1: ( rule__AdaptationProcess__Group_16__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1607:2: rule__AdaptationProcess__Group_16__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__1__Impl_in_rule__PropertyRange__Group__117047);
-            rule__PropertyRange__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__2_in_rule__PropertyRange__Group__117050);
-            rule__PropertyRange__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_16__1__Impl_in_rule__AdaptationProcess__Group_16__13202);
+            rule__AdaptationProcess__Group_16__1__Impl();
 
             state._fsp--;
 
@@ -21933,25 +4097,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__1"
+    // $ANTLR end "rule__AdaptationProcess__Group_16__1"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8626:1: rule__PropertyRange__Group__1__Impl : ( '{' ) ;
-    public final void rule__PropertyRange__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_16__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1613:1: rule__AdaptationProcess__Group_16__1__Impl : ( ( rule__AdaptationProcess__StrategiesAssignment_16_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_16__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8630:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8631:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1617:1: ( ( ( rule__AdaptationProcess__StrategiesAssignment_16_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1618:1: ( ( rule__AdaptationProcess__StrategiesAssignment_16_1 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1618:1: ( ( rule__AdaptationProcess__StrategiesAssignment_16_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1619:1: ( rule__AdaptationProcess__StrategiesAssignment_16_1 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8631:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8632:1: '{'
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1620:1: ( rule__AdaptationProcess__StrategiesAssignment_16_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1620:2: rule__AdaptationProcess__StrategiesAssignment_16_1
             {
-             before(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__PropertyRange__Group__1__Impl17078); 
-             after(grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1()); 
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__StrategiesAssignment_16_1_in_rule__AdaptationProcess__Group_16__1__Impl3229);
+            rule__AdaptationProcess__StrategiesAssignment_16_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1()); 
 
             }
 
@@ -21970,26 +4144,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__1__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_16__1__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8645:1: rule__PropertyRange__Group__2 : rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3 ;
-    public final void rule__PropertyRange__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1634:1: rule__AdaptationProcess__Group_17__0 : rule__AdaptationProcess__Group_17__0__Impl rule__AdaptationProcess__Group_17__1 ;
+    public final void rule__AdaptationProcess__Group_17__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8649:1: ( rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8650:2: rule__PropertyRange__Group__2__Impl rule__PropertyRange__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1638:1: ( rule__AdaptationProcess__Group_17__0__Impl rule__AdaptationProcess__Group_17__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1639:2: rule__AdaptationProcess__Group_17__0__Impl rule__AdaptationProcess__Group_17__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__2__Impl_in_rule__PropertyRange__Group__217109);
-            rule__PropertyRange__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__0__Impl_in_rule__AdaptationProcess__Group_17__03263);
+            rule__AdaptationProcess__Group_17__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__3_in_rule__PropertyRange__Group__217112);
-            rule__PropertyRange__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__1_in_rule__AdaptationProcess__Group_17__03266);
+            rule__AdaptationProcess__Group_17__1();
 
             state._fsp--;
 
@@ -22008,25 +4182,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__2"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__0"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8657:1: rule__PropertyRange__Group__2__Impl : ( 'minValueConstraint' ) ;
-    public final void rule__PropertyRange__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1646:1: rule__AdaptationProcess__Group_17__0__Impl : ( 'parameters' ) ;
+    public final void rule__AdaptationProcess__Group_17__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8661:1: ( ( 'minValueConstraint' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8662:1: ( 'minValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1650:1: ( ( 'parameters' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1651:1: ( 'parameters' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8662:1: ( 'minValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8663:1: 'minValueConstraint'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1651:1: ( 'parameters' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1652:1: 'parameters'
             {
-             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); 
-            match(input,72,FollowSets000.FOLLOW_72_in_rule__PropertyRange__Group__2__Impl17140); 
-             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2()); 
+             before(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0()); 
+            match(input,29,FollowSets000.FOLLOW_29_in_rule__AdaptationProcess__Group_17__0__Impl3294); 
+             after(grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0()); 
 
             }
 
@@ -22045,26 +4219,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__2__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__0__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8676:1: rule__PropertyRange__Group__3 : rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4 ;
-    public final void rule__PropertyRange__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1665:1: rule__AdaptationProcess__Group_17__1 : rule__AdaptationProcess__Group_17__1__Impl rule__AdaptationProcess__Group_17__2 ;
+    public final void rule__AdaptationProcess__Group_17__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8680:1: ( rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8681:2: rule__PropertyRange__Group__3__Impl rule__PropertyRange__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1669:1: ( rule__AdaptationProcess__Group_17__1__Impl rule__AdaptationProcess__Group_17__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1670:2: rule__AdaptationProcess__Group_17__1__Impl rule__AdaptationProcess__Group_17__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__3__Impl_in_rule__PropertyRange__Group__317171);
-            rule__PropertyRange__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__1__Impl_in_rule__AdaptationProcess__Group_17__13325);
+            rule__AdaptationProcess__Group_17__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__4_in_rule__PropertyRange__Group__317174);
-            rule__PropertyRange__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__2_in_rule__AdaptationProcess__Group_17__13328);
+            rule__AdaptationProcess__Group_17__2();
 
             state._fsp--;
 
@@ -22083,35 +4257,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__3"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__1"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8688:1: rule__PropertyRange__Group__3__Impl : ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) ) ;
-    public final void rule__PropertyRange__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1677:1: rule__AdaptationProcess__Group_17__1__Impl : ( ':' ) ;
+    public final void rule__AdaptationProcess__Group_17__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8692:1: ( ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8693:1: ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1681:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1682:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8693:1: ( ( rule__PropertyRange__MinValueConstraintAssignment_3 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8694:1: ( rule__PropertyRange__MinValueConstraintAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1682:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1683:1: ':'
             {
-             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8695:1: ( rule__PropertyRange__MinValueConstraintAssignment_3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8695:2: rule__PropertyRange__MinValueConstraintAssignment_3
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__MinValueConstraintAssignment_3_in_rule__PropertyRange__Group__3__Impl17201);
-            rule__PropertyRange__MinValueConstraintAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3()); 
+             before(grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__AdaptationProcess__Group_17__1__Impl3356); 
+             after(grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1()); 
 
             }
 
@@ -22130,26 +4294,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__3__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__1__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8705:1: rule__PropertyRange__Group__4 : rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5 ;
-    public final void rule__PropertyRange__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1696:1: rule__AdaptationProcess__Group_17__2 : rule__AdaptationProcess__Group_17__2__Impl rule__AdaptationProcess__Group_17__3 ;
+    public final void rule__AdaptationProcess__Group_17__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8709:1: ( rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8710:2: rule__PropertyRange__Group__4__Impl rule__PropertyRange__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1700:1: ( rule__AdaptationProcess__Group_17__2__Impl rule__AdaptationProcess__Group_17__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1701:2: rule__AdaptationProcess__Group_17__2__Impl rule__AdaptationProcess__Group_17__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__4__Impl_in_rule__PropertyRange__Group__417231);
-            rule__PropertyRange__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__2__Impl_in_rule__AdaptationProcess__Group_17__23387);
+            rule__AdaptationProcess__Group_17__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__5_in_rule__PropertyRange__Group__417234);
-            rule__PropertyRange__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__3_in_rule__AdaptationProcess__Group_17__23390);
+            rule__AdaptationProcess__Group_17__3();
 
             state._fsp--;
 
@@ -22168,25 +4332,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__4"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__2"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8717:1: rule__PropertyRange__Group__4__Impl : ( 'maxValueConstraint' ) ;
-    public final void rule__PropertyRange__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1708:1: rule__AdaptationProcess__Group_17__2__Impl : ( ( rule__AdaptationProcess__ParametersAssignment_17_2 ) ) ;
+    public final void rule__AdaptationProcess__Group_17__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8721:1: ( ( 'maxValueConstraint' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8722:1: ( 'maxValueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1712:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_17_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1713:1: ( ( rule__AdaptationProcess__ParametersAssignment_17_2 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1713:1: ( ( rule__AdaptationProcess__ParametersAssignment_17_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1714:1: ( rule__AdaptationProcess__ParametersAssignment_17_2 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8722:1: ( 'maxValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8723:1: 'maxValueConstraint'
+             before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1715:1: ( rule__AdaptationProcess__ParametersAssignment_17_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1715:2: rule__AdaptationProcess__ParametersAssignment_17_2
             {
-             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); 
-            match(input,73,FollowSets000.FOLLOW_73_in_rule__PropertyRange__Group__4__Impl17262); 
-             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4()); 
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_17_2_in_rule__AdaptationProcess__Group_17__2__Impl3417);
+            rule__AdaptationProcess__ParametersAssignment_17_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2()); 
 
             }
 
@@ -22205,26 +4379,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__4__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__2__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8736:1: rule__PropertyRange__Group__5 : rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6 ;
-    public final void rule__PropertyRange__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1725:1: rule__AdaptationProcess__Group_17__3 : rule__AdaptationProcess__Group_17__3__Impl ;
+    public final void rule__AdaptationProcess__Group_17__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8740:1: ( rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8741:2: rule__PropertyRange__Group__5__Impl rule__PropertyRange__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1729:1: ( rule__AdaptationProcess__Group_17__3__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1730:2: rule__AdaptationProcess__Group_17__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__5__Impl_in_rule__PropertyRange__Group__517293);
-            rule__PropertyRange__Group__5__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__6_in_rule__PropertyRange__Group__517296);
-            rule__PropertyRange__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17__3__Impl_in_rule__AdaptationProcess__Group_17__33447);
+            rule__AdaptationProcess__Group_17__3__Impl();
 
             state._fsp--;
 
@@ -22243,35 +4412,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__5"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__3"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8748:1: rule__PropertyRange__Group__5__Impl : ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) ) ;
-    public final void rule__PropertyRange__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1736:1: rule__AdaptationProcess__Group_17__3__Impl : ( ( rule__AdaptationProcess__Group_17_3__0 )* ) ;
+    public final void rule__AdaptationProcess__Group_17__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8752:1: ( ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8753:1: ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8753:1: ( ( rule__PropertyRange__MaxValueConstraintAssignment_5 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8754:1: ( rule__PropertyRange__MaxValueConstraintAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1740:1: ( ( ( rule__AdaptationProcess__Group_17_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1741:1: ( ( rule__AdaptationProcess__Group_17_3__0 )* )
             {
-             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8755:1: ( rule__PropertyRange__MaxValueConstraintAssignment_5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8755:2: rule__PropertyRange__MaxValueConstraintAssignment_5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1741:1: ( ( rule__AdaptationProcess__Group_17_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1742:1: ( rule__AdaptationProcess__Group_17_3__0 )*
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__MaxValueConstraintAssignment_5_in_rule__PropertyRange__Group__5__Impl17323);
-            rule__PropertyRange__MaxValueConstraintAssignment_5();
+             before(grammarAccess.getAdaptationProcessAccess().getGroup_17_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1743:1: ( rule__AdaptationProcess__Group_17_3__0 )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA8_0==28) ) {
+                    alt8=1;
+                }
 
 
-            }
+                switch (alt8) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1743:2: rule__AdaptationProcess__Group_17_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17_3__0_in_rule__AdaptationProcess__Group_17__3__Impl3474);
+            	    rule__AdaptationProcess__Group_17_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
 
-             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5()); 
+             after(grammarAccess.getAdaptationProcessAccess().getGroup_17_3()); 
 
             }
 
@@ -22290,21 +4477,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__5__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17__3__Impl"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8765:1: rule__PropertyRange__Group__6 : rule__PropertyRange__Group__6__Impl ;
-    public final void rule__PropertyRange__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1761:1: rule__AdaptationProcess__Group_17_3__0 : rule__AdaptationProcess__Group_17_3__0__Impl rule__AdaptationProcess__Group_17_3__1 ;
+    public final void rule__AdaptationProcess__Group_17_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8769:1: ( rule__PropertyRange__Group__6__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8770:2: rule__PropertyRange__Group__6__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1765:1: ( rule__AdaptationProcess__Group_17_3__0__Impl rule__AdaptationProcess__Group_17_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1766:2: rule__AdaptationProcess__Group_17_3__0__Impl rule__AdaptationProcess__Group_17_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PropertyRange__Group__6__Impl_in_rule__PropertyRange__Group__617353);
-            rule__PropertyRange__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17_3__0__Impl_in_rule__AdaptationProcess__Group_17_3__03513);
+            rule__AdaptationProcess__Group_17_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17_3__1_in_rule__AdaptationProcess__Group_17_3__03516);
+            rule__AdaptationProcess__Group_17_3__1();
 
             state._fsp--;
 
@@ -22323,25 +4515,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__6"
+    // $ANTLR end "rule__AdaptationProcess__Group_17_3__0"
 
 
-    // $ANTLR start "rule__PropertyRange__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8776:1: rule__PropertyRange__Group__6__Impl : ( '}' ) ;
-    public final void rule__PropertyRange__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1773:1: rule__AdaptationProcess__Group_17_3__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationProcess__Group_17_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8780:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8781:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1777:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1778:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8781:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8782:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1778:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1779:1: ','
             {
-             before(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__PropertyRange__Group__6__Impl17381); 
-             after(grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6()); 
+             before(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationProcess__Group_17_3__0__Impl3544); 
+             after(grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0()); 
 
             }
 
@@ -22360,26 +4552,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__Group__6__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17_3__0__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8809:1: rule__SetOfConfigurations__Group__0 : rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1 ;
-    public final void rule__SetOfConfigurations__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1792:1: rule__AdaptationProcess__Group_17_3__1 : rule__AdaptationProcess__Group_17_3__1__Impl ;
+    public final void rule__AdaptationProcess__Group_17_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8813:1: ( rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8814:2: rule__SetOfConfigurations__Group__0__Impl rule__SetOfConfigurations__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1796:1: ( rule__AdaptationProcess__Group_17_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1797:2: rule__AdaptationProcess__Group_17_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__0__Impl_in_rule__SetOfConfigurations__Group__017426);
-            rule__SetOfConfigurations__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__1_in_rule__SetOfConfigurations__Group__017429);
-            rule__SetOfConfigurations__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__Group_17_3__1__Impl_in_rule__AdaptationProcess__Group_17_3__13575);
+            rule__AdaptationProcess__Group_17_3__1__Impl();
 
             state._fsp--;
 
@@ -22398,25 +4585,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__0"
+    // $ANTLR end "rule__AdaptationProcess__Group_17_3__1"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8821:1: rule__SetOfConfigurations__Group__0__Impl : ( 'SetOfConfigurations' ) ;
-    public final void rule__SetOfConfigurations__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__Group_17_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1803:1: rule__AdaptationProcess__Group_17_3__1__Impl : ( ( rule__AdaptationProcess__ParametersAssignment_17_3_1 ) ) ;
+    public final void rule__AdaptationProcess__Group_17_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8825:1: ( ( 'SetOfConfigurations' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8826:1: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1807:1: ( ( ( rule__AdaptationProcess__ParametersAssignment_17_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1808:1: ( ( rule__AdaptationProcess__ParametersAssignment_17_3_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8826:1: ( 'SetOfConfigurations' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8827:1: 'SetOfConfigurations'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1808:1: ( ( rule__AdaptationProcess__ParametersAssignment_17_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1809:1: ( rule__AdaptationProcess__ParametersAssignment_17_3_1 )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); 
-            match(input,74,FollowSets000.FOLLOW_74_in_rule__SetOfConfigurations__Group__0__Impl17457); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0()); 
+             before(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1810:1: ( rule__AdaptationProcess__ParametersAssignment_17_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1810:2: rule__AdaptationProcess__ParametersAssignment_17_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationProcess__ParametersAssignment_17_3_1_in_rule__AdaptationProcess__Group_17_3__1__Impl3602);
+            rule__AdaptationProcess__ParametersAssignment_17_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1()); 
 
             }
 
@@ -22435,26 +4632,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__0__Impl"
+    // $ANTLR end "rule__AdaptationProcess__Group_17_3__1__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8840:1: rule__SetOfConfigurations__Group__1 : rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2 ;
-    public final void rule__SetOfConfigurations__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1824: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8844:1: ( rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8845:2: rule__SetOfConfigurations__Group__1__Impl rule__SetOfConfigurations__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1828:1: ( rule__Tactic__Group__0__Impl rule__Tactic__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1829:2: rule__Tactic__Group__0__Impl rule__Tactic__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__1__Impl_in_rule__SetOfConfigurations__Group__117488);
-            rule__SetOfConfigurations__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__03636);
+            rule__Tactic__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__2_in_rule__SetOfConfigurations__Group__117491);
-            rule__SetOfConfigurations__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__03639);
+            rule__Tactic__Group__1();
 
             state._fsp--;
 
@@ -22473,25 +4670,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__1"
+    // $ANTLR end "rule__Tactic__Group__0"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8852:1: rule__SetOfConfigurations__Group__1__Impl : ( '{' ) ;
-    public final void rule__SetOfConfigurations__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1836: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8856:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8857:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1840:1: ( ( 'Tactic' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1841:1: ( 'Tactic' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8857:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8858:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1841:1: ( 'Tactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1842:1: 'Tactic'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__SetOfConfigurations__Group__1__Impl17519); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1()); 
+             before(grammarAccess.getTacticAccess().getTacticKeyword_0()); 
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__Tactic__Group__0__Impl3667); 
+             after(grammarAccess.getTacticAccess().getTacticKeyword_0()); 
 
             }
 
@@ -22510,26 +4707,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__1__Impl"
+    // $ANTLR end "rule__Tactic__Group__0__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8871:1: rule__SetOfConfigurations__Group__2 : rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3 ;
-    public final void rule__SetOfConfigurations__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1855: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8875:1: ( rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8876:2: rule__SetOfConfigurations__Group__2__Impl rule__SetOfConfigurations__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1859:1: ( rule__Tactic__Group__1__Impl rule__Tactic__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1860:2: rule__Tactic__Group__1__Impl rule__Tactic__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__2__Impl_in_rule__SetOfConfigurations__Group__217550);
-            rule__SetOfConfigurations__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__13698);
+            rule__Tactic__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__3_in_rule__SetOfConfigurations__Group__217553);
-            rule__SetOfConfigurations__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__13701);
+            rule__Tactic__Group__2();
 
             state._fsp--;
 
@@ -22548,46 +4745,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__2"
+    // $ANTLR end "rule__Tactic__Group__1"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8883:1: rule__SetOfConfigurations__Group__2__Impl : ( ( rule__SetOfConfigurations__Group_2__0 )? ) ;
-    public final void rule__SetOfConfigurations__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1867:1: rule__Tactic__Group__1__Impl : ( ( rule__Tactic__NameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8887:1: ( ( ( rule__SetOfConfigurations__Group_2__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8888:1: ( ( rule__SetOfConfigurations__Group_2__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1871:1: ( ( ( rule__Tactic__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1872:1: ( ( rule__Tactic__NameAssignment_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8888:1: ( ( rule__SetOfConfigurations__Group_2__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8889:1: ( rule__SetOfConfigurations__Group_2__0 )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1872:1: ( ( rule__Tactic__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1873:1: ( rule__Tactic__NameAssignment_1 )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8890:1: ( rule__SetOfConfigurations__Group_2__0 )?
-            int alt37=2;
-            int LA37_0 = input.LA(1);
-
-            if ( (LA37_0==76) ) {
-                alt37=1;
-            }
-            switch (alt37) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8890:2: rule__SetOfConfigurations__Group_2__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__0_in_rule__SetOfConfigurations__Group__2__Impl17580);
-                    rule__SetOfConfigurations__Group_2__0();
-
-                    state._fsp--;
+             before(grammarAccess.getTacticAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1874:1: ( rule__Tactic__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1874:2: rule__Tactic__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__NameAssignment_1_in_rule__Tactic__Group__1__Impl3728);
+            rule__Tactic__NameAssignment_1();
 
+            state._fsp--;
 
-                    }
-                    break;
 
             }
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2()); 
+             after(grammarAccess.getTacticAccess().getNameAssignment_1()); 
 
             }
 
@@ -22606,26 +4792,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__2__Impl"
+    // $ANTLR end "rule__Tactic__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8900:1: rule__SetOfConfigurations__Group__3 : rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4 ;
-    public final void rule__SetOfConfigurations__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1884: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8904:1: ( rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8905:2: rule__SetOfConfigurations__Group__3__Impl rule__SetOfConfigurations__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1888:1: ( rule__Tactic__Group__2__Impl rule__Tactic__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1889:2: rule__Tactic__Group__2__Impl rule__Tactic__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__3__Impl_in_rule__SetOfConfigurations__Group__317611);
-            rule__SetOfConfigurations__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__23758);
+            rule__Tactic__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__4_in_rule__SetOfConfigurations__Group__317614);
-            rule__SetOfConfigurations__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__23761);
+            rule__Tactic__Group__3();
 
             state._fsp--;
 
@@ -22644,25 +4830,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__3"
+    // $ANTLR end "rule__Tactic__Group__2"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8912:1: rule__SetOfConfigurations__Group__3__Impl : ( 'valueConstraint' ) ;
-    public final void rule__SetOfConfigurations__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1896: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8916:1: ( ( 'valueConstraint' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8917:1: ( 'valueConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1900:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1901:1: ( '{' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8917:1: ( 'valueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8918:1: 'valueConstraint'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1901:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1902:1: '{'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); 
-            match(input,75,FollowSets000.FOLLOW_75_in_rule__SetOfConfigurations__Group__3__Impl17642); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3()); 
+             before(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Tactic__Group__2__Impl3789); 
+             after(grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -22681,26 +4867,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__3__Impl"
+    // $ANTLR end "rule__Tactic__Group__2__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8931:1: rule__SetOfConfigurations__Group__4 : rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5 ;
-    public final void rule__SetOfConfigurations__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1915: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8935:1: ( rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8936:2: rule__SetOfConfigurations__Group__4__Impl rule__SetOfConfigurations__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1919:1: ( rule__Tactic__Group__3__Impl rule__Tactic__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1920:2: rule__Tactic__Group__3__Impl rule__Tactic__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__4__Impl_in_rule__SetOfConfigurations__Group__417673);
-            rule__SetOfConfigurations__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__33820);
+            rule__Tactic__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__5_in_rule__SetOfConfigurations__Group__417676);
-            rule__SetOfConfigurations__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__33823);
+            rule__Tactic__Group__4();
 
             state._fsp--;
 
@@ -22719,35 +4905,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__4"
+    // $ANTLR end "rule__Tactic__Group__3"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8943:1: rule__SetOfConfigurations__Group__4__Impl : ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) ) ;
-    public final void rule__SetOfConfigurations__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1927:1: rule__Tactic__Group__3__Impl : ( ( rule__Tactic__Group_3__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8947:1: ( ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8948:1: ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1931:1: ( ( ( rule__Tactic__Group_3__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1932:1: ( ( rule__Tactic__Group_3__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8948:1: ( ( rule__SetOfConfigurations__ValueConstraintAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8949:1: ( rule__SetOfConfigurations__ValueConstraintAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1932:1: ( ( rule__Tactic__Group_3__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1933:1: ( rule__Tactic__Group_3__0 )?
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8950:1: ( rule__SetOfConfigurations__ValueConstraintAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8950:2: rule__SetOfConfigurations__ValueConstraintAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__ValueConstraintAssignment_4_in_rule__SetOfConfigurations__Group__4__Impl17703);
-            rule__SetOfConfigurations__ValueConstraintAssignment_4();
+             before(grammarAccess.getTacticAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1934:1: ( rule__Tactic__Group_3__0 )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0==32) ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1934:2: rule__Tactic__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__0_in_rule__Tactic__Group__3__Impl3850);
+                    rule__Tactic__Group_3__0();
+
+                    state._fsp--;
 
-            state._fsp--;
 
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4()); 
+             after(grammarAccess.getTacticAccess().getGroup_3()); 
 
             }
 
@@ -22766,21 +4963,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__4__Impl"
+    // $ANTLR end "rule__Tactic__Group__3__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8960:1: rule__SetOfConfigurations__Group__5 : rule__SetOfConfigurations__Group__5__Impl ;
-    public final void rule__SetOfConfigurations__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1944: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8964:1: ( rule__SetOfConfigurations__Group__5__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8965:2: rule__SetOfConfigurations__Group__5__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1948:1: ( rule__Tactic__Group__4__Impl rule__Tactic__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1949:2: rule__Tactic__Group__4__Impl rule__Tactic__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group__5__Impl_in_rule__SetOfConfigurations__Group__517733);
-            rule__SetOfConfigurations__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__43881);
+            rule__Tactic__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__43884);
+            rule__Tactic__Group__5();
 
             state._fsp--;
 
@@ -22799,25 +5001,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__5"
+    // $ANTLR end "rule__Tactic__Group__4"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8971:1: rule__SetOfConfigurations__Group__5__Impl : ( '}' ) ;
-    public final void rule__SetOfConfigurations__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1956:1: rule__Tactic__Group__4__Impl : ( ( rule__Tactic__Group_4__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8975:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8976:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1960:1: ( ( ( rule__Tactic__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1961:1: ( ( rule__Tactic__Group_4__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8976:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:8977:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1961:1: ( ( rule__Tactic__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1962:1: ( rule__Tactic__Group_4__0 )?
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__SetOfConfigurations__Group__5__Impl17761); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getTacticAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1963:1: ( rule__Tactic__Group_4__0 )?
+            int alt10=2;
+            int LA10_0 = input.LA(1);
+
+            if ( (LA10_0==33) ) {
+                alt10=1;
+            }
+            switch (alt10) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1963:2: rule__Tactic__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__0_in_rule__Tactic__Group__4__Impl3911);
+                    rule__Tactic__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getTacticAccess().getGroup_4()); 
 
             }
 
@@ -22836,26 +5059,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group__5__Impl"
+    // $ANTLR end "rule__Tactic__Group__4__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9002: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 {
+    // $ANTLR start "rule__Tactic__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1973: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9006: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9007:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1977:1: ( rule__Tactic__Group__5__Impl rule__Tactic__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1978:2: rule__Tactic__Group__5__Impl rule__Tactic__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__0__Impl_in_rule__SetOfConfigurations__Group_2__017804);
-            rule__SetOfConfigurations__Group_2__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__53942);
+            rule__Tactic__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__1_in_rule__SetOfConfigurations__Group_2__017807);
-            rule__SetOfConfigurations__Group_2__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__53945);
+            rule__Tactic__Group__6();
 
             state._fsp--;
 
@@ -22874,25 +5097,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__0"
+    // $ANTLR end "rule__Tactic__Group__5"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9014:1: rule__SetOfConfigurations__Group_2__0__Impl : ( 'variants' ) ;
-    public final void rule__SetOfConfigurations__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1985:1: rule__Tactic__Group__5__Impl : ( 'implementedPlan' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9018:1: ( ( 'variants' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9019:1: ( 'variants' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1989:1: ( ( 'implementedPlan' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1990:1: ( 'implementedPlan' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9019:1: ( 'variants' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9020:1: 'variants'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1990:1: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:1991:1: 'implementedPlan'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); 
-            match(input,76,FollowSets000.FOLLOW_76_in_rule__SetOfConfigurations__Group_2__0__Impl17835); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0()); 
+             before(grammarAccess.getTacticAccess().getImplementedPlanKeyword_5()); 
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__Tactic__Group__5__Impl3973); 
+             after(grammarAccess.getTacticAccess().getImplementedPlanKeyword_5()); 
 
             }
 
@@ -22911,26 +5134,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__0__Impl"
+    // $ANTLR end "rule__Tactic__Group__5__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9033: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 {
+    // $ANTLR start "rule__Tactic__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2004: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9037: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9038:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2008:1: ( rule__Tactic__Group__6__Impl rule__Tactic__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2009:2: rule__Tactic__Group__6__Impl rule__Tactic__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__1__Impl_in_rule__SetOfConfigurations__Group_2__117866);
-            rule__SetOfConfigurations__Group_2__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__64004);
+            rule__Tactic__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__2_in_rule__SetOfConfigurations__Group_2__117869);
-            rule__SetOfConfigurations__Group_2__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__64007);
+            rule__Tactic__Group__7();
 
             state._fsp--;
 
@@ -22949,25 +5172,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__1"
+    // $ANTLR end "rule__Tactic__Group__6"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9045:1: rule__SetOfConfigurations__Group_2__1__Impl : ( '(' ) ;
-    public final void rule__SetOfConfigurations__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2016:1: rule__Tactic__Group__6__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9049:1: ( ( '(' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9050:1: ( '(' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2020:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2021:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9050:1: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9051:1: '('
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2021:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2022:1: ':'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__SetOfConfigurations__Group_2__1__Impl17897); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1()); 
+             before(grammarAccess.getTacticAccess().getColonKeyword_6()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Tactic__Group__6__Impl4035); 
+             after(grammarAccess.getTacticAccess().getColonKeyword_6()); 
 
             }
 
@@ -22986,26 +5209,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__1__Impl"
+    // $ANTLR end "rule__Tactic__Group__6__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9064: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 {
+    // $ANTLR start "rule__Tactic__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2035: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9068: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9069:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2039:1: ( rule__Tactic__Group__7__Impl rule__Tactic__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2040:2: rule__Tactic__Group__7__Impl rule__Tactic__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__2__Impl_in_rule__SetOfConfigurations__Group_2__217928);
-            rule__SetOfConfigurations__Group_2__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__74066);
+            rule__Tactic__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__3_in_rule__SetOfConfigurations__Group_2__217931);
-            rule__SetOfConfigurations__Group_2__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__74069);
+            rule__Tactic__Group__8();
 
             state._fsp--;
 
@@ -23024,35 +5247,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__2"
+    // $ANTLR end "rule__Tactic__Group__7"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9076:1: rule__SetOfConfigurations__Group_2__2__Impl : ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) ) ;
-    public final void rule__SetOfConfigurations__Group_2__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2047:1: rule__Tactic__Group__7__Impl : ( ( rule__Tactic__ImplementedPlanAssignment_7 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9080:1: ( ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9081:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2051:1: ( ( ( rule__Tactic__ImplementedPlanAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2052:1: ( ( rule__Tactic__ImplementedPlanAssignment_7 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9081:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_2 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9082:1: ( rule__SetOfConfigurations__VariantsAssignment_2_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2052:1: ( ( rule__Tactic__ImplementedPlanAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2053:1: ( rule__Tactic__ImplementedPlanAssignment_7 )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9083:1: ( rule__SetOfConfigurations__VariantsAssignment_2_2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9083:2: rule__SetOfConfigurations__VariantsAssignment_2_2
+             before(grammarAccess.getTacticAccess().getImplementedPlanAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2054:1: ( rule__Tactic__ImplementedPlanAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2054:2: rule__Tactic__ImplementedPlanAssignment_7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_2_in_rule__SetOfConfigurations__Group_2__2__Impl17958);
-            rule__SetOfConfigurations__VariantsAssignment_2_2();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__ImplementedPlanAssignment_7_in_rule__Tactic__Group__7__Impl4096);
+            rule__Tactic__ImplementedPlanAssignment_7();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2()); 
+             after(grammarAccess.getTacticAccess().getImplementedPlanAssignment_7()); 
 
             }
 
@@ -23071,26 +5294,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__2__Impl"
+    // $ANTLR end "rule__Tactic__Group__7__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9093: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 {
+    // $ANTLR start "rule__Tactic__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2064:1: rule__Tactic__Group__8 : rule__Tactic__Group__8__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9097: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9098:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2068:1: ( rule__Tactic__Group__8__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2069:2: rule__Tactic__Group__8__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__3__Impl_in_rule__SetOfConfigurations__Group_2__317988);
-            rule__SetOfConfigurations__Group_2__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__4_in_rule__SetOfConfigurations__Group_2__317991);
-            rule__SetOfConfigurations__Group_2__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__84126);
+            rule__Tactic__Group__8__Impl();
 
             state._fsp--;
 
@@ -23109,53 +5327,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__3"
+    // $ANTLR end "rule__Tactic__Group__8"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9105:1: rule__SetOfConfigurations__Group_2__3__Impl : ( ( rule__SetOfConfigurations__Group_2_3__0 )* ) ;
-    public final void rule__SetOfConfigurations__Group_2__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2075:1: rule__Tactic__Group__8__Impl : ( '}' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9109:1: ( ( ( rule__SetOfConfigurations__Group_2_3__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9110:1: ( ( rule__SetOfConfigurations__Group_2_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2079:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2080:1: ( '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9110:1: ( ( rule__SetOfConfigurations__Group_2_3__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9111:1: ( rule__SetOfConfigurations__Group_2_3__0 )*
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2080:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2081:1: '}'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9112:1: ( rule__SetOfConfigurations__Group_2_3__0 )*
-            loop38:
-            do {
-                int alt38=2;
-                int LA38_0 = input.LA(1);
-
-                if ( (LA38_0==24) ) {
-                    alt38=1;
-                }
-
-
-                switch (alt38) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9112:2: rule__SetOfConfigurations__Group_2_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__0_in_rule__SetOfConfigurations__Group_2__3__Impl18018);
-            	    rule__SetOfConfigurations__Group_2_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop38;
-                }
-            } while (true);
-
-             after(grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3()); 
+             before(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__Tactic__Group__8__Impl4154); 
+             after(grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8()); 
 
             }
 
@@ -23174,21 +5364,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__3__Impl"
+    // $ANTLR end "rule__Tactic__Group__8__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9122:1: rule__SetOfConfigurations__Group_2__4 : rule__SetOfConfigurations__Group_2__4__Impl ;
-    public final void rule__SetOfConfigurations__Group_2__4() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2112:1: rule__Tactic__Group_3__0 : rule__Tactic__Group_3__0__Impl rule__Tactic__Group_3__1 ;
+    public final void rule__Tactic__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9126:1: ( rule__SetOfConfigurations__Group_2__4__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9127:2: rule__SetOfConfigurations__Group_2__4__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2116:1: ( rule__Tactic__Group_3__0__Impl rule__Tactic__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2117:2: rule__Tactic__Group_3__0__Impl rule__Tactic__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2__4__Impl_in_rule__SetOfConfigurations__Group_2__418049);
-            rule__SetOfConfigurations__Group_2__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__0__Impl_in_rule__Tactic__Group_3__04203);
+            rule__Tactic__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__1_in_rule__Tactic__Group_3__04206);
+            rule__Tactic__Group_3__1();
 
             state._fsp--;
 
@@ -23207,25 +5402,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__4"
+    // $ANTLR end "rule__Tactic__Group_3__0"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9133:1: rule__SetOfConfigurations__Group_2__4__Impl : ( ')' ) ;
-    public final void rule__SetOfConfigurations__Group_2__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2124:1: rule__Tactic__Group_3__0__Impl : ( 'input' ) ;
+    public final void rule__Tactic__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9137:1: ( ( ')' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9138:1: ( ')' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2128:1: ( ( 'input' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2129:1: ( 'input' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9138:1: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9139:1: ')'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2129:1: ( 'input' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2130:1: 'input'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__SetOfConfigurations__Group_2__4__Impl18077); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4()); 
+             before(grammarAccess.getTacticAccess().getInputKeyword_3_0()); 
+            match(input,32,FollowSets000.FOLLOW_32_in_rule__Tactic__Group_3__0__Impl4234); 
+             after(grammarAccess.getTacticAccess().getInputKeyword_3_0()); 
 
             }
 
@@ -23244,26 +5439,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2__4__Impl"
+    // $ANTLR end "rule__Tactic__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9162: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 {
+    // $ANTLR start "rule__Tactic__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2143:1: rule__Tactic__Group_3__1 : rule__Tactic__Group_3__1__Impl rule__Tactic__Group_3__2 ;
+    public final void rule__Tactic__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9166: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9167:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2147:1: ( rule__Tactic__Group_3__1__Impl rule__Tactic__Group_3__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2148:2: rule__Tactic__Group_3__1__Impl rule__Tactic__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__0__Impl_in_rule__SetOfConfigurations__Group_2_3__018118);
-            rule__SetOfConfigurations__Group_2_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__1__Impl_in_rule__Tactic__Group_3__14265);
+            rule__Tactic__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__1_in_rule__SetOfConfigurations__Group_2_3__018121);
-            rule__SetOfConfigurations__Group_2_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__2_in_rule__Tactic__Group_3__14268);
+            rule__Tactic__Group_3__2();
 
             state._fsp--;
 
@@ -23282,25 +5477,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__0"
+    // $ANTLR end "rule__Tactic__Group_3__1"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9174:1: rule__SetOfConfigurations__Group_2_3__0__Impl : ( ',' ) ;
-    public final void rule__SetOfConfigurations__Group_2_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2155:1: rule__Tactic__Group_3__1__Impl : ( ':' ) ;
+    public final void rule__Tactic__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9178:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9179:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2159:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2160:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9179:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9180:1: ','
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2160:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2161:1: ':'
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__SetOfConfigurations__Group_2_3__0__Impl18149); 
-             after(grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0()); 
+             before(grammarAccess.getTacticAccess().getColonKeyword_3_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Tactic__Group_3__1__Impl4296); 
+             after(grammarAccess.getTacticAccess().getColonKeyword_3_1()); 
 
             }
 
@@ -23319,21 +5514,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__0__Impl"
+    // $ANTLR end "rule__Tactic__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9193: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 {
+    // $ANTLR start "rule__Tactic__Group_3__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2174:1: rule__Tactic__Group_3__2 : rule__Tactic__Group_3__2__Impl rule__Tactic__Group_3__3 ;
+    public final void rule__Tactic__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9197:1: ( rule__SetOfConfigurations__Group_2_3__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9198:2: rule__SetOfConfigurations__Group_2_3__1__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2178:1: ( rule__Tactic__Group_3__2__Impl rule__Tactic__Group_3__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2179:2: rule__Tactic__Group_3__2__Impl rule__Tactic__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__Group_2_3__1__Impl_in_rule__SetOfConfigurations__Group_2_3__118180);
-            rule__SetOfConfigurations__Group_2_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__2__Impl_in_rule__Tactic__Group_3__24327);
+            rule__Tactic__Group_3__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__3_in_rule__Tactic__Group_3__24330);
+            rule__Tactic__Group_3__3();
 
             state._fsp--;
 
@@ -23352,35 +5552,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__1"
+    // $ANTLR end "rule__Tactic__Group_3__2"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__Group_2_3__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9204: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 {
+    // $ANTLR start "rule__Tactic__Group_3__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2186:1: rule__Tactic__Group_3__2__Impl : ( ( rule__Tactic__InputParamsAssignment_3_2 ) ) ;
+    public final void rule__Tactic__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9208:1: ( ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9209:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2190:1: ( ( ( rule__Tactic__InputParamsAssignment_3_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2191:1: ( ( rule__Tactic__InputParamsAssignment_3_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9209:1: ( ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9210:1: ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2191:1: ( ( rule__Tactic__InputParamsAssignment_3_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2192:1: ( rule__Tactic__InputParamsAssignment_3_2 )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9211:1: ( rule__SetOfConfigurations__VariantsAssignment_2_3_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9211:2: rule__SetOfConfigurations__VariantsAssignment_2_3_1
+             before(grammarAccess.getTacticAccess().getInputParamsAssignment_3_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2193:1: ( rule__Tactic__InputParamsAssignment_3_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2193:2: rule__Tactic__InputParamsAssignment_3_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_3_1_in_rule__SetOfConfigurations__Group_2_3__1__Impl18207);
-            rule__SetOfConfigurations__VariantsAssignment_2_3_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_3_2_in_rule__Tactic__Group_3__2__Impl4357);
+            rule__Tactic__InputParamsAssignment_3_2();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1()); 
+             after(grammarAccess.getTacticAccess().getInputParamsAssignment_3_2()); 
 
             }
 
@@ -23399,26 +5599,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__Group_2_3__1__Impl"
+    // $ANTLR end "rule__Tactic__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9225:1: rule__OclConstraint__Group__0 : rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1 ;
-    public final void rule__OclConstraint__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2203:1: rule__Tactic__Group_3__3 : rule__Tactic__Group_3__3__Impl ;
+    public final void rule__Tactic__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9229:1: ( rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9230:2: rule__OclConstraint__Group__0__Impl rule__OclConstraint__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2207:1: ( rule__Tactic__Group_3__3__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2208:2: rule__Tactic__Group_3__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__0__Impl_in_rule__OclConstraint__Group__018241);
-            rule__OclConstraint__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__1_in_rule__OclConstraint__Group__018244);
-            rule__OclConstraint__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3__3__Impl_in_rule__Tactic__Group_3__34387);
+            rule__Tactic__Group_3__3__Impl();
 
             state._fsp--;
 
@@ -23437,25 +5632,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__0"
+    // $ANTLR end "rule__Tactic__Group_3__3"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9237:1: rule__OclConstraint__Group__0__Impl : ( 'OclConstraint' ) ;
-    public final void rule__OclConstraint__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2214:1: rule__Tactic__Group_3__3__Impl : ( ( rule__Tactic__Group_3_3__0 )* ) ;
+    public final void rule__Tactic__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9241:1: ( ( 'OclConstraint' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9242:1: ( 'OclConstraint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2218:1: ( ( ( rule__Tactic__Group_3_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2219:1: ( ( rule__Tactic__Group_3_3__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9242:1: ( 'OclConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9243:1: 'OclConstraint'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2219:1: ( ( rule__Tactic__Group_3_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2220:1: ( rule__Tactic__Group_3_3__0 )*
             {
-             before(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); 
-            match(input,77,FollowSets000.FOLLOW_77_in_rule__OclConstraint__Group__0__Impl18272); 
-             after(grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0()); 
+             before(grammarAccess.getTacticAccess().getGroup_3_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2221:1: ( rule__Tactic__Group_3_3__0 )*
+            loop11:
+            do {
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+
+                if ( (LA11_0==28) ) {
+                    alt11=1;
+                }
+
+
+                switch (alt11) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2221:2: rule__Tactic__Group_3_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3_3__0_in_rule__Tactic__Group_3__3__Impl4414);
+            	    rule__Tactic__Group_3_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop11;
+                }
+            } while (true);
+
+             after(grammarAccess.getTacticAccess().getGroup_3_3()); 
 
             }
 
@@ -23474,26 +5697,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__0__Impl"
+    // $ANTLR end "rule__Tactic__Group_3__3__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9256:1: rule__OclConstraint__Group__1 : rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2 ;
-    public final void rule__OclConstraint__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2239:1: rule__Tactic__Group_3_3__0 : rule__Tactic__Group_3_3__0__Impl rule__Tactic__Group_3_3__1 ;
+    public final void rule__Tactic__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9260:1: ( rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9261:2: rule__OclConstraint__Group__1__Impl rule__OclConstraint__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2243:1: ( rule__Tactic__Group_3_3__0__Impl rule__Tactic__Group_3_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2244:2: rule__Tactic__Group_3_3__0__Impl rule__Tactic__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__1__Impl_in_rule__OclConstraint__Group__118303);
-            rule__OclConstraint__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3_3__0__Impl_in_rule__Tactic__Group_3_3__04453);
+            rule__Tactic__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__2_in_rule__OclConstraint__Group__118306);
-            rule__OclConstraint__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3_3__1_in_rule__Tactic__Group_3_3__04456);
+            rule__Tactic__Group_3_3__1();
 
             state._fsp--;
 
@@ -23512,35 +5735,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__1"
+    // $ANTLR end "rule__Tactic__Group_3_3__0"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9268:1: rule__OclConstraint__Group__1__Impl : ( ( rule__OclConstraint__NameAssignment_1 ) ) ;
-    public final void rule__OclConstraint__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2251:1: rule__Tactic__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__Tactic__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9272:1: ( ( ( rule__OclConstraint__NameAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9273:1: ( ( rule__OclConstraint__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2255:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2256:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9273:1: ( ( rule__OclConstraint__NameAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9274:1: ( rule__OclConstraint__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2256:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2257:1: ','
             {
-             before(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9275:1: ( rule__OclConstraint__NameAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9275:2: rule__OclConstraint__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__NameAssignment_1_in_rule__OclConstraint__Group__1__Impl18333);
-            rule__OclConstraint__NameAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getOclConstraintAccess().getNameAssignment_1()); 
+             before(grammarAccess.getTacticAccess().getCommaKeyword_3_3_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__Tactic__Group_3_3__0__Impl4484); 
+             after(grammarAccess.getTacticAccess().getCommaKeyword_3_3_0()); 
 
             }
 
@@ -23559,26 +5772,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__1__Impl"
+    // $ANTLR end "rule__Tactic__Group_3_3__0__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9285:1: rule__OclConstraint__Group__2 : rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3 ;
-    public final void rule__OclConstraint__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2270:1: rule__Tactic__Group_3_3__1 : rule__Tactic__Group_3_3__1__Impl ;
+    public final void rule__Tactic__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9289:1: ( rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9290:2: rule__OclConstraint__Group__2__Impl rule__OclConstraint__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2274:1: ( rule__Tactic__Group_3_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2275:2: rule__Tactic__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__2__Impl_in_rule__OclConstraint__Group__218363);
-            rule__OclConstraint__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__3_in_rule__OclConstraint__Group__218366);
-            rule__OclConstraint__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_3_3__1__Impl_in_rule__Tactic__Group_3_3__14515);
+            rule__Tactic__Group_3_3__1__Impl();
 
             state._fsp--;
 
@@ -23597,25 +5805,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__2"
+    // $ANTLR end "rule__Tactic__Group_3_3__1"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9297:1: rule__OclConstraint__Group__2__Impl : ( '{' ) ;
-    public final void rule__OclConstraint__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_3_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2281:1: rule__Tactic__Group_3_3__1__Impl : ( ( rule__Tactic__InputParamsAssignment_3_3_1 ) ) ;
+    public final void rule__Tactic__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9301:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9302:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2285:1: ( ( ( rule__Tactic__InputParamsAssignment_3_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2286:1: ( ( rule__Tactic__InputParamsAssignment_3_3_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9302:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9303:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2286:1: ( ( rule__Tactic__InputParamsAssignment_3_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2287:1: ( rule__Tactic__InputParamsAssignment_3_3_1 )
             {
-             before(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__OclConstraint__Group__2__Impl18394); 
-             after(grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2288:1: ( rule__Tactic__InputParamsAssignment_3_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2288:2: rule__Tactic__InputParamsAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__InputParamsAssignment_3_3_1_in_rule__Tactic__Group_3_3__1__Impl4542);
+            rule__Tactic__InputParamsAssignment_3_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1()); 
 
             }
 
@@ -23634,26 +5852,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__2__Impl"
+    // $ANTLR end "rule__Tactic__Group_3_3__1__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9316:1: rule__OclConstraint__Group__3 : rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4 ;
-    public final void rule__OclConstraint__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2302:1: rule__Tactic__Group_4__0 : rule__Tactic__Group_4__0__Impl rule__Tactic__Group_4__1 ;
+    public final void rule__Tactic__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9320:1: ( rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9321:2: rule__OclConstraint__Group__3__Impl rule__OclConstraint__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2306:1: ( rule__Tactic__Group_4__0__Impl rule__Tactic__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2307:2: rule__Tactic__Group_4__0__Impl rule__Tactic__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__3__Impl_in_rule__OclConstraint__Group__318425);
-            rule__OclConstraint__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__0__Impl_in_rule__Tactic__Group_4__04576);
+            rule__Tactic__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__4_in_rule__OclConstraint__Group__318428);
-            rule__OclConstraint__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__1_in_rule__Tactic__Group_4__04579);
+            rule__Tactic__Group_4__1();
 
             state._fsp--;
 
@@ -23672,25 +5890,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__3"
+    // $ANTLR end "rule__Tactic__Group_4__0"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9328:1: rule__OclConstraint__Group__3__Impl : ( 'oclString' ) ;
-    public final void rule__OclConstraint__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2314:1: rule__Tactic__Group_4__0__Impl : ( 'output' ) ;
+    public final void rule__Tactic__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9332:1: ( ( 'oclString' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9333:1: ( 'oclString' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2318:1: ( ( 'output' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2319:1: ( 'output' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9333:1: ( 'oclString' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9334:1: 'oclString'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2319:1: ( 'output' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2320:1: 'output'
             {
-             before(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); 
-            match(input,78,FollowSets000.FOLLOW_78_in_rule__OclConstraint__Group__3__Impl18456); 
-             after(grammarAccess.getOclConstraintAccess().getOclStringKeyword_3()); 
+             before(grammarAccess.getTacticAccess().getOutputKeyword_4_0()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__Tactic__Group_4__0__Impl4607); 
+             after(grammarAccess.getTacticAccess().getOutputKeyword_4_0()); 
 
             }
 
@@ -23709,26 +5927,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__3__Impl"
+    // $ANTLR end "rule__Tactic__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9347:1: rule__OclConstraint__Group__4 : rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5 ;
-    public final void rule__OclConstraint__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2333:1: rule__Tactic__Group_4__1 : rule__Tactic__Group_4__1__Impl rule__Tactic__Group_4__2 ;
+    public final void rule__Tactic__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9351:1: ( rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9352:2: rule__OclConstraint__Group__4__Impl rule__OclConstraint__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2337:1: ( rule__Tactic__Group_4__1__Impl rule__Tactic__Group_4__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2338:2: rule__Tactic__Group_4__1__Impl rule__Tactic__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__4__Impl_in_rule__OclConstraint__Group__418487);
-            rule__OclConstraint__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__1__Impl_in_rule__Tactic__Group_4__14638);
+            rule__Tactic__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__5_in_rule__OclConstraint__Group__418490);
-            rule__OclConstraint__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__2_in_rule__Tactic__Group_4__14641);
+            rule__Tactic__Group_4__2();
 
             state._fsp--;
 
@@ -23747,35 +5965,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__4"
+    // $ANTLR end "rule__Tactic__Group_4__1"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9359:1: rule__OclConstraint__Group__4__Impl : ( ( rule__OclConstraint__OclStringAssignment_4 ) ) ;
-    public final void rule__OclConstraint__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2345:1: rule__Tactic__Group_4__1__Impl : ( ':' ) ;
+    public final void rule__Tactic__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9363:1: ( ( ( rule__OclConstraint__OclStringAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9364:1: ( ( rule__OclConstraint__OclStringAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9364:1: ( ( rule__OclConstraint__OclStringAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9365:1: ( rule__OclConstraint__OclStringAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2349:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2350:1: ( ':' )
             {
-             before(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9366:1: ( rule__OclConstraint__OclStringAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9366:2: rule__OclConstraint__OclStringAssignment_4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2350:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2351:1: ':'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__OclStringAssignment_4_in_rule__OclConstraint__Group__4__Impl18517);
-            rule__OclConstraint__OclStringAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getOclConstraintAccess().getOclStringAssignment_4()); 
+             before(grammarAccess.getTacticAccess().getColonKeyword_4_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Tactic__Group_4__1__Impl4669); 
+             after(grammarAccess.getTacticAccess().getColonKeyword_4_1()); 
 
             }
 
@@ -23794,21 +6002,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__4__Impl"
+    // $ANTLR end "rule__Tactic__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9376:1: rule__OclConstraint__Group__5 : rule__OclConstraint__Group__5__Impl ;
-    public final void rule__OclConstraint__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2364:1: rule__Tactic__Group_4__2 : rule__Tactic__Group_4__2__Impl ;
+    public final void rule__Tactic__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9380:1: ( rule__OclConstraint__Group__5__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9381:2: rule__OclConstraint__Group__5__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2368:1: ( rule__Tactic__Group_4__2__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2369:2: rule__Tactic__Group_4__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__OclConstraint__Group__5__Impl_in_rule__OclConstraint__Group__518547);
-            rule__OclConstraint__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__Group_4__2__Impl_in_rule__Tactic__Group_4__24700);
+            rule__Tactic__Group_4__2__Impl();
 
             state._fsp--;
 
@@ -23827,25 +6035,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__5"
+    // $ANTLR end "rule__Tactic__Group_4__2"
 
 
-    // $ANTLR start "rule__OclConstraint__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9387:1: rule__OclConstraint__Group__5__Impl : ( '}' ) ;
-    public final void rule__OclConstraint__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__Group_4__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2375:1: rule__Tactic__Group_4__2__Impl : ( ( rule__Tactic__OutputParamAssignment_4_2 ) ) ;
+    public final void rule__Tactic__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9391:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9392:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2379:1: ( ( ( rule__Tactic__OutputParamAssignment_4_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2380:1: ( ( rule__Tactic__OutputParamAssignment_4_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9392:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9393:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2380:1: ( ( rule__Tactic__OutputParamAssignment_4_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2381:1: ( rule__Tactic__OutputParamAssignment_4_2 )
             {
-             before(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__OclConstraint__Group__5__Impl18575); 
-             after(grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getTacticAccess().getOutputParamAssignment_4_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2382:1: ( rule__Tactic__OutputParamAssignment_4_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2382:2: rule__Tactic__OutputParamAssignment_4_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Tactic__OutputParamAssignment_4_2_in_rule__Tactic__Group_4__2__Impl4727);
+            rule__Tactic__OutputParamAssignment_4_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getTacticAccess().getOutputParamAssignment_4_2()); 
 
             }
 
@@ -23864,26 +6082,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__Group__5__Impl"
+    // $ANTLR end "rule__Tactic__Group_4__2__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9418:1: rule__Objective__Group__0 : rule__Objective__Group__0__Impl rule__Objective__Group__1 ;
-    public final void rule__Objective__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2398: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9422:1: ( rule__Objective__Group__0__Impl rule__Objective__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9423:2: rule__Objective__Group__0__Impl rule__Objective__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2402:1: ( rule__Action__Group__0__Impl rule__Action__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2403:2: rule__Action__Group__0__Impl rule__Action__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__018618);
-            rule__Objective__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__04763);
+            rule__Action__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__018621);
-            rule__Objective__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1_in_rule__Action__Group__04766);
+            rule__Action__Group__1();
 
             state._fsp--;
 
@@ -23902,25 +6120,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__0"
+    // $ANTLR end "rule__Action__Group__0"
 
 
-    // $ANTLR start "rule__Objective__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9430:1: rule__Objective__Group__0__Impl : ( 'Objective' ) ;
-    public final void rule__Objective__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2410: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9434:1: ( ( 'Objective' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9435:1: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2414:1: ( ( 'Action' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2415:1: ( 'Action' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9435:1: ( 'Objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9436:1: 'Objective'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2415:1: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2416:1: 'Action'
             {
-             before(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
-            match(input,79,FollowSets000.FOLLOW_79_in_rule__Objective__Group__0__Impl18649); 
-             after(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
+             before(grammarAccess.getActionAccess().getActionKeyword_0()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__Action__Group__0__Impl4794); 
+             after(grammarAccess.getActionAccess().getActionKeyword_0()); 
 
             }
 
@@ -23939,26 +6157,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__0__Impl"
+    // $ANTLR end "rule__Action__Group__0__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9449:1: rule__Objective__Group__1 : rule__Objective__Group__1__Impl rule__Objective__Group__2 ;
-    public final void rule__Objective__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2429: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9453:1: ( rule__Objective__Group__1__Impl rule__Objective__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9454:2: rule__Objective__Group__1__Impl rule__Objective__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2433:1: ( rule__Action__Group__1__Impl rule__Action__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2434:2: rule__Action__Group__1__Impl rule__Action__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__118680);
-            rule__Objective__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__14825);
+            rule__Action__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__118683);
-            rule__Objective__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2_in_rule__Action__Group__14828);
+            rule__Action__Group__2();
 
             state._fsp--;
 
@@ -23977,35 +6195,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__1"
+    // $ANTLR end "rule__Action__Group__1"
 
 
-    // $ANTLR start "rule__Objective__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9461:1: rule__Objective__Group__1__Impl : ( ( rule__Objective__IdAssignment_1 ) ) ;
-    public final void rule__Objective__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2441:1: rule__Action__Group__1__Impl : ( ( rule__Action__NameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9465:1: ( ( ( rule__Objective__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9466:1: ( ( rule__Objective__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2445:1: ( ( ( rule__Action__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2446:1: ( ( rule__Action__NameAssignment_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9466:1: ( ( rule__Objective__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9467:1: ( rule__Objective__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2446:1: ( ( rule__Action__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2447:1: ( rule__Action__NameAssignment_1 )
             {
-             before(grammarAccess.getObjectiveAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9468:1: ( rule__Objective__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9468:2: rule__Objective__IdAssignment_1
+             before(grammarAccess.getActionAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2448:1: ( rule__Action__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2448:2: rule__Action__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__IdAssignment_1_in_rule__Objective__Group__1__Impl18710);
-            rule__Objective__IdAssignment_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__NameAssignment_1_in_rule__Action__Group__1__Impl4855);
+            rule__Action__NameAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getObjectiveAccess().getIdAssignment_1()); 
+             after(grammarAccess.getActionAccess().getNameAssignment_1()); 
 
             }
 
@@ -24024,26 +6242,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__1__Impl"
+    // $ANTLR end "rule__Action__Group__1__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9478:1: rule__Objective__Group__2 : rule__Objective__Group__2__Impl rule__Objective__Group__3 ;
-    public final void rule__Objective__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2458: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9482:1: ( rule__Objective__Group__2__Impl rule__Objective__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9483:2: rule__Objective__Group__2__Impl rule__Objective__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2462:1: ( rule__Action__Group__2__Impl rule__Action__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2463:2: rule__Action__Group__2__Impl rule__Action__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__218740);
-            rule__Objective__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__24885);
+            rule__Action__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__218743);
-            rule__Objective__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3_in_rule__Action__Group__24888);
+            rule__Action__Group__3();
 
             state._fsp--;
 
@@ -24062,25 +6280,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__2"
+    // $ANTLR end "rule__Action__Group__2"
 
 
-    // $ANTLR start "rule__Objective__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9490:1: rule__Objective__Group__2__Impl : ( '{' ) ;
-    public final void rule__Objective__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2470: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9494:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9495:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2474:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2475:1: ( '{' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9495:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9496:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2475:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2476:1: '{'
             {
-             before(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Objective__Group__2__Impl18771); 
-             after(grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Action__Group__2__Impl4916); 
+             after(grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -24099,26 +6317,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__2__Impl"
+    // $ANTLR end "rule__Action__Group__2__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9509:1: rule__Objective__Group__3 : rule__Objective__Group__3__Impl rule__Objective__Group__4 ;
-    public final void rule__Objective__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2489: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9513:1: ( rule__Objective__Group__3__Impl rule__Objective__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9514:2: rule__Objective__Group__3__Impl rule__Objective__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2493:1: ( rule__Action__Group__3__Impl rule__Action__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2494:2: rule__Action__Group__3__Impl rule__Action__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__318802);
-            rule__Objective__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__34947);
+            rule__Action__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__4_in_rule__Objective__Group__318805);
-            rule__Objective__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4_in_rule__Action__Group__34950);
+            rule__Action__Group__4();
 
             state._fsp--;
 
@@ -24137,25 +6355,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__3"
+    // $ANTLR end "rule__Action__Group__3"
 
 
-    // $ANTLR start "rule__Objective__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9521:1: rule__Objective__Group__3__Impl : ( 'name' ) ;
-    public final void rule__Objective__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2501:1: rule__Action__Group__3__Impl : ( ( rule__Action__Group_3__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9525:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9526:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2505:1: ( ( ( rule__Action__Group_3__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2506:1: ( ( rule__Action__Group_3__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9526:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9527:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2506:1: ( ( rule__Action__Group_3__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2507:1: ( rule__Action__Group_3__0 )?
             {
-             before(grammarAccess.getObjectiveAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__Objective__Group__3__Impl18833); 
-             after(grammarAccess.getObjectiveAccess().getNameKeyword_3()); 
+             before(grammarAccess.getActionAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2508:1: ( rule__Action__Group_3__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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2508:2: rule__Action__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__0_in_rule__Action__Group__3__Impl4977);
+                    rule__Action__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getActionAccess().getGroup_3()); 
 
             }
 
@@ -24174,26 +6413,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__3__Impl"
+    // $ANTLR end "rule__Action__Group__3__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9540:1: rule__Objective__Group__4 : rule__Objective__Group__4__Impl rule__Objective__Group__5 ;
-    public final void rule__Objective__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2518: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9544:1: ( rule__Objective__Group__4__Impl rule__Objective__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9545:2: rule__Objective__Group__4__Impl rule__Objective__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2522:1: ( rule__Action__Group__4__Impl rule__Action__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2523:2: rule__Action__Group__4__Impl rule__Action__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__4__Impl_in_rule__Objective__Group__418864);
-            rule__Objective__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__45008);
+            rule__Action__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__5_in_rule__Objective__Group__418867);
-            rule__Objective__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5_in_rule__Action__Group__45011);
+            rule__Action__Group__5();
 
             state._fsp--;
 
@@ -24212,35 +6451,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__4"
+    // $ANTLR end "rule__Action__Group__4"
 
 
-    // $ANTLR start "rule__Objective__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9552:1: rule__Objective__Group__4__Impl : ( ( rule__Objective__NameAssignment_4 ) ) ;
-    public final void rule__Objective__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2530:1: rule__Action__Group__4__Impl : ( ( rule__Action__Group_4__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9556:1: ( ( ( rule__Objective__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9557:1: ( ( rule__Objective__NameAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2534:1: ( ( ( rule__Action__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2535:1: ( ( rule__Action__Group_4__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9557:1: ( ( rule__Objective__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9558:1: ( rule__Objective__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2535:1: ( ( rule__Action__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2536:1: ( rule__Action__Group_4__0 )?
             {
-             before(grammarAccess.getObjectiveAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9559:1: ( rule__Objective__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9559:2: rule__Objective__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__NameAssignment_4_in_rule__Objective__Group__4__Impl18894);
-            rule__Objective__NameAssignment_4();
+             before(grammarAccess.getActionAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2537:1: ( rule__Action__Group_4__0 )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==33) ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2537:2: rule__Action__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__0_in_rule__Action__Group__4__Impl5038);
+                    rule__Action__Group_4__0();
+
+                    state._fsp--;
 
-            state._fsp--;
 
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getObjectiveAccess().getNameAssignment_4()); 
+             after(grammarAccess.getActionAccess().getGroup_4()); 
 
             }
 
@@ -24259,26 +6509,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__4__Impl"
+    // $ANTLR end "rule__Action__Group__4__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9569:1: rule__Objective__Group__5 : rule__Objective__Group__5__Impl rule__Objective__Group__6 ;
-    public final void rule__Objective__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2547: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9573:1: ( rule__Objective__Group__5__Impl rule__Objective__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9574:2: rule__Objective__Group__5__Impl rule__Objective__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2551:1: ( rule__Action__Group__5__Impl rule__Action__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2552:2: rule__Action__Group__5__Impl rule__Action__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__5__Impl_in_rule__Objective__Group__518924);
-            rule__Objective__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__55069);
+            rule__Action__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__6_in_rule__Objective__Group__518927);
-            rule__Objective__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6_in_rule__Action__Group__55072);
+            rule__Action__Group__6();
 
             state._fsp--;
 
@@ -24297,25 +6547,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__5"
+    // $ANTLR end "rule__Action__Group__5"
 
 
-    // $ANTLR start "rule__Objective__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9581:1: rule__Objective__Group__5__Impl : ( 'specification' ) ;
-    public final void rule__Objective__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2559:1: rule__Action__Group__5__Impl : ( 'referredAdaptationPoint' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9585:1: ( ( 'specification' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9586:1: ( 'specification' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2563:1: ( ( 'referredAdaptationPoint' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2564:1: ( 'referredAdaptationPoint' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9586:1: ( 'specification' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9587:1: 'specification'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2564:1: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2565:1: 'referredAdaptationPoint'
             {
-             before(grammarAccess.getObjectiveAccess().getSpecificationKeyword_5()); 
-            match(input,80,FollowSets000.FOLLOW_80_in_rule__Objective__Group__5__Impl18955); 
-             after(grammarAccess.getObjectiveAccess().getSpecificationKeyword_5()); 
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5()); 
+            match(input,35,FollowSets000.FOLLOW_35_in_rule__Action__Group__5__Impl5100); 
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5()); 
 
             }
 
@@ -24334,26 +6584,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__5__Impl"
+    // $ANTLR end "rule__Action__Group__5__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9600:1: rule__Objective__Group__6 : rule__Objective__Group__6__Impl rule__Objective__Group__7 ;
-    public final void rule__Objective__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2578: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9604:1: ( rule__Objective__Group__6__Impl rule__Objective__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9605:2: rule__Objective__Group__6__Impl rule__Objective__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2582:1: ( rule__Action__Group__6__Impl rule__Action__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2583:2: rule__Action__Group__6__Impl rule__Action__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__6__Impl_in_rule__Objective__Group__618986);
-            rule__Objective__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__65131);
+            rule__Action__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__7_in_rule__Objective__Group__618989);
-            rule__Objective__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7_in_rule__Action__Group__65134);
+            rule__Action__Group__7();
 
             state._fsp--;
 
@@ -24372,35 +6622,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__6"
+    // $ANTLR end "rule__Action__Group__6"
 
 
-    // $ANTLR start "rule__Objective__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9612:1: rule__Objective__Group__6__Impl : ( ( rule__Objective__SpecificationAssignment_6 ) ) ;
-    public final void rule__Objective__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2590:1: rule__Action__Group__6__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9616:1: ( ( ( rule__Objective__SpecificationAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9617:1: ( ( rule__Objective__SpecificationAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2594:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2595:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9617:1: ( ( rule__Objective__SpecificationAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9618:1: ( rule__Objective__SpecificationAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2595:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2596:1: ':'
             {
-             before(grammarAccess.getObjectiveAccess().getSpecificationAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9619:1: ( rule__Objective__SpecificationAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9619:2: rule__Objective__SpecificationAssignment_6
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__SpecificationAssignment_6_in_rule__Objective__Group__6__Impl19016);
-            rule__Objective__SpecificationAssignment_6();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getObjectiveAccess().getSpecificationAssignment_6()); 
+             before(grammarAccess.getActionAccess().getColonKeyword_6()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Action__Group__6__Impl5162); 
+             after(grammarAccess.getActionAccess().getColonKeyword_6()); 
 
             }
 
@@ -24419,21 +6659,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__6__Impl"
+    // $ANTLR end "rule__Action__Group__6__Impl"
 
 
-    // $ANTLR start "rule__Objective__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9629:1: rule__Objective__Group__7 : rule__Objective__Group__7__Impl ;
-    public final void rule__Objective__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2609: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9633:1: ( rule__Objective__Group__7__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9634:2: rule__Objective__Group__7__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2613:1: ( rule__Action__Group__7__Impl rule__Action__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2614:2: rule__Action__Group__7__Impl rule__Action__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__7__Impl_in_rule__Objective__Group__719046);
-            rule__Objective__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__75193);
+            rule__Action__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8_in_rule__Action__Group__75196);
+            rule__Action__Group__8();
 
             state._fsp--;
 
@@ -24452,25 +6697,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__7"
+    // $ANTLR end "rule__Action__Group__7"
 
 
-    // $ANTLR start "rule__Objective__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9640:1: rule__Objective__Group__7__Impl : ( '}' ) ;
-    public final void rule__Objective__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2621:1: rule__Action__Group__7__Impl : ( ( rule__Action__ReferredAdaptationPointAssignment_7 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9644:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9645:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2625:1: ( ( ( rule__Action__ReferredAdaptationPointAssignment_7 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2626:1: ( ( rule__Action__ReferredAdaptationPointAssignment_7 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9645:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9646:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2626:1: ( ( rule__Action__ReferredAdaptationPointAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2627:1: ( rule__Action__ReferredAdaptationPointAssignment_7 )
             {
-             before(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Objective__Group__7__Impl19074); 
-             after(grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7()); 
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2628:1: ( rule__Action__ReferredAdaptationPointAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2628:2: rule__Action__ReferredAdaptationPointAssignment_7
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__ReferredAdaptationPointAssignment_7_in_rule__Action__Group__7__Impl5223);
+            rule__Action__ReferredAdaptationPointAssignment_7();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7()); 
 
             }
 
@@ -24489,26 +6744,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__Group__7__Impl"
+    // $ANTLR end "rule__Action__Group__7__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9675:1: rule__Event__Group__0 : rule__Event__Group__0__Impl rule__Event__Group__1 ;
-    public final void rule__Event__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2638: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9679:1: ( rule__Event__Group__0__Impl rule__Event__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9680:2: rule__Event__Group__0__Impl rule__Event__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2642:1: ( rule__Action__Group__8__Impl rule__Action__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2643:2: rule__Action__Group__8__Impl rule__Action__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__0__Impl_in_rule__Event__Group__019121);
-            rule__Event__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__85253);
+            rule__Action__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__1_in_rule__Event__Group__019124);
-            rule__Event__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9_in_rule__Action__Group__85256);
+            rule__Action__Group__9();
 
             state._fsp--;
 
@@ -24527,25 +6782,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__0"
+    // $ANTLR end "rule__Action__Group__8"
 
 
-    // $ANTLR start "rule__Event__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9687:1: rule__Event__Group__0__Impl : ( 'Event' ) ;
-    public final void rule__Event__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2650:1: rule__Action__Group__8__Impl : ( 'adaptationActionOperation' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9691:1: ( ( 'Event' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9692:1: ( 'Event' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2654:1: ( ( 'adaptationActionOperation' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2655:1: ( 'adaptationActionOperation' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9692:1: ( 'Event' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9693:1: 'Event'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2655:1: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2656:1: 'adaptationActionOperation'
             {
-             before(grammarAccess.getEventAccess().getEventKeyword_0()); 
-            match(input,81,FollowSets000.FOLLOW_81_in_rule__Event__Group__0__Impl19152); 
-             after(grammarAccess.getEventAccess().getEventKeyword_0()); 
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8()); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__Action__Group__8__Impl5284); 
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8()); 
 
             }
 
@@ -24564,26 +6819,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__0__Impl"
+    // $ANTLR end "rule__Action__Group__8__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9706:1: rule__Event__Group__1 : rule__Event__Group__1__Impl rule__Event__Group__2 ;
-    public final void rule__Event__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2669: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9710:1: ( rule__Event__Group__1__Impl rule__Event__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9711:2: rule__Event__Group__1__Impl rule__Event__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2673:1: ( rule__Action__Group__9__Impl rule__Action__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2674:2: rule__Action__Group__9__Impl rule__Action__Group__10
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__1__Impl_in_rule__Event__Group__119183);
-            rule__Event__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__95315);
+            rule__Action__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__2_in_rule__Event__Group__119186);
-            rule__Event__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10_in_rule__Action__Group__95318);
+            rule__Action__Group__10();
 
             state._fsp--;
 
@@ -24602,35 +6857,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__1"
+    // $ANTLR end "rule__Action__Group__9"
 
 
-    // $ANTLR start "rule__Event__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9718:1: rule__Event__Group__1__Impl : ( ( rule__Event__IdAssignment_1 ) ) ;
-    public final void rule__Event__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2681:1: rule__Action__Group__9__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9722:1: ( ( ( rule__Event__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9723:1: ( ( rule__Event__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9723:1: ( ( rule__Event__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9724:1: ( rule__Event__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2685:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2686:1: ( ':' )
             {
-             before(grammarAccess.getEventAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9725:1: ( rule__Event__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9725:2: rule__Event__IdAssignment_1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2686:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2687:1: ':'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__IdAssignment_1_in_rule__Event__Group__1__Impl19213);
-            rule__Event__IdAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEventAccess().getIdAssignment_1()); 
+             before(grammarAccess.getActionAccess().getColonKeyword_9()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Action__Group__9__Impl5346); 
+             after(grammarAccess.getActionAccess().getColonKeyword_9()); 
 
             }
 
@@ -24649,26 +6894,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__1__Impl"
+    // $ANTLR end "rule__Action__Group__9__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9735:1: rule__Event__Group__2 : rule__Event__Group__2__Impl rule__Event__Group__3 ;
-    public final void rule__Event__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2700: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9739:1: ( rule__Event__Group__2__Impl rule__Event__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9740:2: rule__Event__Group__2__Impl rule__Event__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2704:1: ( rule__Action__Group__10__Impl rule__Action__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2705:2: rule__Action__Group__10__Impl rule__Action__Group__11
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__2__Impl_in_rule__Event__Group__219243);
-            rule__Event__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__105377);
+            rule__Action__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__3_in_rule__Event__Group__219246);
-            rule__Event__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11_in_rule__Action__Group__105380);
+            rule__Action__Group__11();
 
             state._fsp--;
 
@@ -24687,25 +6932,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__2"
+    // $ANTLR end "rule__Action__Group__10"
 
 
-    // $ANTLR start "rule__Event__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9747:1: rule__Event__Group__2__Impl : ( '{' ) ;
-    public final void rule__Event__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2712: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9751:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9752:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2716:1: ( ( ( rule__Action__AdaptationActionOperationAssignment_10 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2717:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9752:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9753:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2717:1: ( ( rule__Action__AdaptationActionOperationAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2718:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
             {
-             before(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__Event__Group__2__Impl19274); 
-             after(grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2719:1: ( rule__Action__AdaptationActionOperationAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2719:2: rule__Action__AdaptationActionOperationAssignment_10
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl5407);
+            rule__Action__AdaptationActionOperationAssignment_10();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationAssignment_10()); 
 
             }
 
@@ -24724,26 +6979,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__2__Impl"
+    // $ANTLR end "rule__Action__Group__10__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9766:1: rule__Event__Group__3 : rule__Event__Group__3__Impl rule__Event__Group__4 ;
-    public final void rule__Event__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2729: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9770:1: ( rule__Event__Group__3__Impl rule__Event__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9771:2: rule__Event__Group__3__Impl rule__Event__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2733:1: ( rule__Action__Group__11__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2734:2: rule__Action__Group__11__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__3__Impl_in_rule__Event__Group__319305);
-            rule__Event__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__4_in_rule__Event__Group__319308);
-            rule__Event__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__115437);
+            rule__Action__Group__11__Impl();
 
             state._fsp--;
 
@@ -24762,25 +7012,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__3"
+    // $ANTLR end "rule__Action__Group__11"
 
 
-    // $ANTLR start "rule__Event__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9778:1: rule__Event__Group__3__Impl : ( 'name' ) ;
-    public final void rule__Event__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2740: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9782:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9783:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2744:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2745:1: ( '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9783:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9784:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2745:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2746:1: '}'
             {
-             before(grammarAccess.getEventAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__Event__Group__3__Impl19336); 
-             after(grammarAccess.getEventAccess().getNameKeyword_3()); 
+             before(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__Action__Group__11__Impl5465); 
+             after(grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11()); 
 
             }
 
@@ -24799,26 +7049,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__3__Impl"
+    // $ANTLR end "rule__Action__Group__11__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9797:1: rule__Event__Group__4 : rule__Event__Group__4__Impl rule__Event__Group__5 ;
-    public final void rule__Event__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2783:1: rule__Action__Group_3__0 : rule__Action__Group_3__0__Impl rule__Action__Group_3__1 ;
+    public final void rule__Action__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9801:1: ( rule__Event__Group__4__Impl rule__Event__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9802:2: rule__Event__Group__4__Impl rule__Event__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2787:1: ( rule__Action__Group_3__0__Impl rule__Action__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2788:2: rule__Action__Group_3__0__Impl rule__Action__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__4__Impl_in_rule__Event__Group__419367);
-            rule__Event__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__0__Impl_in_rule__Action__Group_3__05520);
+            rule__Action__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__5_in_rule__Event__Group__419370);
-            rule__Event__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__1_in_rule__Action__Group_3__05523);
+            rule__Action__Group_3__1();
 
             state._fsp--;
 
@@ -24837,35 +7087,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__4"
+    // $ANTLR end "rule__Action__Group_3__0"
 
 
-    // $ANTLR start "rule__Event__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9809:1: rule__Event__Group__4__Impl : ( ( rule__Event__NameAssignment_4 ) ) ;
-    public final void rule__Event__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2795:1: rule__Action__Group_3__0__Impl : ( 'input' ) ;
+    public final void rule__Action__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9813:1: ( ( ( rule__Event__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9814:1: ( ( rule__Event__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9814:1: ( ( rule__Event__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9815:1: ( rule__Event__NameAssignment_4 )
-            {
-             before(grammarAccess.getEventAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9816:1: ( rule__Event__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9816:2: rule__Event__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__NameAssignment_4_in_rule__Event__Group__4__Impl19397);
-            rule__Event__NameAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getEventAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2799:1: ( ( 'input' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2800:1: ( 'input' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2800:1: ( 'input' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2801:1: 'input'
+            {
+             before(grammarAccess.getActionAccess().getInputKeyword_3_0()); 
+            match(input,32,FollowSets000.FOLLOW_32_in_rule__Action__Group_3__0__Impl5551); 
+             after(grammarAccess.getActionAccess().getInputKeyword_3_0()); 
 
             }
 
@@ -24884,21 +7124,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__4__Impl"
+    // $ANTLR end "rule__Action__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__Event__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9826:1: rule__Event__Group__5 : rule__Event__Group__5__Impl ;
-    public final void rule__Event__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2814:1: rule__Action__Group_3__1 : rule__Action__Group_3__1__Impl rule__Action__Group_3__2 ;
+    public final void rule__Action__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9830:1: ( rule__Event__Group__5__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9831:2: rule__Event__Group__5__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2818:1: ( rule__Action__Group_3__1__Impl rule__Action__Group_3__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2819:2: rule__Action__Group_3__1__Impl rule__Action__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Event__Group__5__Impl_in_rule__Event__Group__519427);
-            rule__Event__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__1__Impl_in_rule__Action__Group_3__15582);
+            rule__Action__Group_3__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__2_in_rule__Action__Group_3__15585);
+            rule__Action__Group_3__2();
 
             state._fsp--;
 
@@ -24917,25 +7162,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__5"
+    // $ANTLR end "rule__Action__Group_3__1"
 
 
-    // $ANTLR start "rule__Event__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9837:1: rule__Event__Group__5__Impl : ( '}' ) ;
-    public final void rule__Event__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2826:1: rule__Action__Group_3__1__Impl : ( ':' ) ;
+    public final void rule__Action__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9841:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9842:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2830:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2831:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9842:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9843:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2831:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2832:1: ':'
             {
-             before(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Event__Group__5__Impl19455); 
-             after(grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getActionAccess().getColonKeyword_3_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Action__Group_3__1__Impl5613); 
+             after(grammarAccess.getActionAccess().getColonKeyword_3_1()); 
 
             }
 
@@ -24954,26 +7199,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__Group__5__Impl"
+    // $ANTLR end "rule__Action__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9868:1: rule__WeightedTactic__Group__0 : rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1 ;
-    public final void rule__WeightedTactic__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2845:1: rule__Action__Group_3__2 : rule__Action__Group_3__2__Impl rule__Action__Group_3__3 ;
+    public final void rule__Action__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9872:1: ( rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9873:2: rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2849:1: ( rule__Action__Group_3__2__Impl rule__Action__Group_3__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2850:2: rule__Action__Group_3__2__Impl rule__Action__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__019498);
-            rule__WeightedTactic__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__2__Impl_in_rule__Action__Group_3__25644);
+            rule__Action__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__019501);
-            rule__WeightedTactic__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__3_in_rule__Action__Group_3__25647);
+            rule__Action__Group_3__3();
 
             state._fsp--;
 
@@ -24992,25 +7237,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__0"
+    // $ANTLR end "rule__Action__Group_3__2"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9880:1: rule__WeightedTactic__Group__0__Impl : ( 'WeightedTactic' ) ;
-    public final void rule__WeightedTactic__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2857:1: rule__Action__Group_3__2__Impl : ( ( rule__Action__InputParamsAssignment_3_2 ) ) ;
+    public final void rule__Action__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9884:1: ( ( 'WeightedTactic' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9885:1: ( 'WeightedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2861:1: ( ( ( rule__Action__InputParamsAssignment_3_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2862:1: ( ( rule__Action__InputParamsAssignment_3_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9885:1: ( 'WeightedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9886:1: 'WeightedTactic'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2862:1: ( ( rule__Action__InputParamsAssignment_3_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2863:1: ( rule__Action__InputParamsAssignment_3_2 )
             {
-             before(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); 
-            match(input,82,FollowSets000.FOLLOW_82_in_rule__WeightedTactic__Group__0__Impl19529); 
-             after(grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0()); 
+             before(grammarAccess.getActionAccess().getInputParamsAssignment_3_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2864:1: ( rule__Action__InputParamsAssignment_3_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2864:2: rule__Action__InputParamsAssignment_3_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_3_2_in_rule__Action__Group_3__2__Impl5674);
+            rule__Action__InputParamsAssignment_3_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsAssignment_3_2()); 
 
             }
 
@@ -25029,26 +7284,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__0__Impl"
+    // $ANTLR end "rule__Action__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9899:1: rule__WeightedTactic__Group__1 : rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2 ;
-    public final void rule__WeightedTactic__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2874:1: rule__Action__Group_3__3 : rule__Action__Group_3__3__Impl ;
+    public final void rule__Action__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9903:1: ( rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9904:2: rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2878:1: ( rule__Action__Group_3__3__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2879:2: rule__Action__Group_3__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__119560);
-            rule__WeightedTactic__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__119563);
-            rule__WeightedTactic__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3__3__Impl_in_rule__Action__Group_3__35704);
+            rule__Action__Group_3__3__Impl();
 
             state._fsp--;
 
@@ -25067,35 +7317,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__1"
+    // $ANTLR end "rule__Action__Group_3__3"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9911:1: rule__WeightedTactic__Group__1__Impl : ( ( rule__WeightedTactic__IdAssignment_1 ) ) ;
-    public final void rule__WeightedTactic__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2885:1: rule__Action__Group_3__3__Impl : ( ( rule__Action__Group_3_3__0 )* ) ;
+    public final void rule__Action__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9915:1: ( ( ( rule__WeightedTactic__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9916:1: ( ( rule__WeightedTactic__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2889:1: ( ( ( rule__Action__Group_3_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2890:1: ( ( rule__Action__Group_3_3__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9916:1: ( ( rule__WeightedTactic__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9917:1: ( rule__WeightedTactic__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2890:1: ( ( rule__Action__Group_3_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2891:1: ( rule__Action__Group_3_3__0 )*
             {
-             before(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9918:1: ( rule__WeightedTactic__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9918:2: rule__WeightedTactic__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__IdAssignment_1_in_rule__WeightedTactic__Group__1__Impl19590);
-            rule__WeightedTactic__IdAssignment_1();
+             before(grammarAccess.getActionAccess().getGroup_3_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2892:1: ( rule__Action__Group_3_3__0 )*
+            loop14:
+            do {
+                int alt14=2;
+                int LA14_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA14_0==28) ) {
+                    alt14=1;
+                }
 
 
-            }
+                switch (alt14) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2892:2: rule__Action__Group_3_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3_3__0_in_rule__Action__Group_3__3__Impl5731);
+            	    rule__Action__Group_3_3__0();
+
+            	    state._fsp--;
+
 
-             after(grammarAccess.getWeightedTacticAccess().getIdAssignment_1()); 
+            	    }
+            	    break;
+
+            	default :
+            	    break loop14;
+                }
+            } while (true);
+
+             after(grammarAccess.getActionAccess().getGroup_3_3()); 
 
             }
 
@@ -25114,26 +7382,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__1__Impl"
+    // $ANTLR end "rule__Action__Group_3__3__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9928:1: rule__WeightedTactic__Group__2 : rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3 ;
-    public final void rule__WeightedTactic__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2910:1: rule__Action__Group_3_3__0 : rule__Action__Group_3_3__0__Impl rule__Action__Group_3_3__1 ;
+    public final void rule__Action__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9932:1: ( rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9933:2: rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2914:1: ( rule__Action__Group_3_3__0__Impl rule__Action__Group_3_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2915:2: rule__Action__Group_3_3__0__Impl rule__Action__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__219620);
-            rule__WeightedTactic__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3_3__0__Impl_in_rule__Action__Group_3_3__05770);
+            rule__Action__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__219623);
-            rule__WeightedTactic__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3_3__1_in_rule__Action__Group_3_3__05773);
+            rule__Action__Group_3_3__1();
 
             state._fsp--;
 
@@ -25152,25 +7420,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__2"
+    // $ANTLR end "rule__Action__Group_3_3__0"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9940:1: rule__WeightedTactic__Group__2__Impl : ( '{' ) ;
-    public final void rule__WeightedTactic__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2922:1: rule__Action__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__Action__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9944:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9945:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2926:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2927:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9945:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9946:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2927:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2928:1: ','
             {
-             before(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__WeightedTactic__Group__2__Impl19651); 
-             after(grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getActionAccess().getCommaKeyword_3_3_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__Action__Group_3_3__0__Impl5801); 
+             after(grammarAccess.getActionAccess().getCommaKeyword_3_3_0()); 
 
             }
 
@@ -25189,26 +7457,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__2__Impl"
+    // $ANTLR end "rule__Action__Group_3_3__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9959:1: rule__WeightedTactic__Group__3 : rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4 ;
-    public final void rule__WeightedTactic__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2941:1: rule__Action__Group_3_3__1 : rule__Action__Group_3_3__1__Impl ;
+    public final void rule__Action__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9963:1: ( rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9964:2: rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2945:1: ( rule__Action__Group_3_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2946:2: rule__Action__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__319682);
-            rule__WeightedTactic__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__319685);
-            rule__WeightedTactic__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_3_3__1__Impl_in_rule__Action__Group_3_3__15832);
+            rule__Action__Group_3_3__1__Impl();
 
             state._fsp--;
 
@@ -25227,25 +7490,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__3"
+    // $ANTLR end "rule__Action__Group_3_3__1"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9971:1: rule__WeightedTactic__Group__3__Impl : ( 'name' ) ;
-    public final void rule__WeightedTactic__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_3_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2952:1: rule__Action__Group_3_3__1__Impl : ( ( rule__Action__InputParamsAssignment_3_3_1 ) ) ;
+    public final void rule__Action__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9975:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9976:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2956:1: ( ( ( rule__Action__InputParamsAssignment_3_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2957:1: ( ( rule__Action__InputParamsAssignment_3_3_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9976:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9977:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2957:1: ( ( rule__Action__InputParamsAssignment_3_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2958:1: ( rule__Action__InputParamsAssignment_3_3_1 )
             {
-             before(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__WeightedTactic__Group__3__Impl19713); 
-             after(grammarAccess.getWeightedTacticAccess().getNameKeyword_3()); 
+             before(grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2959:1: ( rule__Action__InputParamsAssignment_3_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2959:2: rule__Action__InputParamsAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Action__InputParamsAssignment_3_3_1_in_rule__Action__Group_3_3__1__Impl5859);
+            rule__Action__InputParamsAssignment_3_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1()); 
 
             }
 
@@ -25264,26 +7537,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__3__Impl"
+    // $ANTLR end "rule__Action__Group_3_3__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9990:1: rule__WeightedTactic__Group__4 : rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5 ;
-    public final void rule__WeightedTactic__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2973:1: rule__Action__Group_4__0 : rule__Action__Group_4__0__Impl rule__Action__Group_4__1 ;
+    public final void rule__Action__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9994:1: ( rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:9995:2: rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2977:1: ( rule__Action__Group_4__0__Impl rule__Action__Group_4__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2978:2: rule__Action__Group_4__0__Impl rule__Action__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__419744);
-            rule__WeightedTactic__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__0__Impl_in_rule__Action__Group_4__05893);
+            rule__Action__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__419747);
-            rule__WeightedTactic__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__1_in_rule__Action__Group_4__05896);
+            rule__Action__Group_4__1();
 
             state._fsp--;
 
@@ -25302,35 +7575,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__4"
+    // $ANTLR end "rule__Action__Group_4__0"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10002:1: rule__WeightedTactic__Group__4__Impl : ( ( rule__WeightedTactic__NameAssignment_4 ) ) ;
-    public final void rule__WeightedTactic__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2985:1: rule__Action__Group_4__0__Impl : ( 'output' ) ;
+    public final void rule__Action__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10006:1: ( ( ( rule__WeightedTactic__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10007:1: ( ( rule__WeightedTactic__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10007:1: ( ( rule__WeightedTactic__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10008:1: ( rule__WeightedTactic__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2989:1: ( ( 'output' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2990:1: ( 'output' )
             {
-             before(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10009:1: ( rule__WeightedTactic__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10009:2: rule__WeightedTactic__NameAssignment_4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2990:1: ( 'output' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:2991:1: 'output'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__NameAssignment_4_in_rule__WeightedTactic__Group__4__Impl19774);
-            rule__WeightedTactic__NameAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getNameAssignment_4()); 
+             before(grammarAccess.getActionAccess().getOutputKeyword_4_0()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__Action__Group_4__0__Impl5924); 
+             after(grammarAccess.getActionAccess().getOutputKeyword_4_0()); 
 
             }
 
@@ -25349,26 +7612,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__4__Impl"
+    // $ANTLR end "rule__Action__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10019:1: rule__WeightedTactic__Group__5 : rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6 ;
-    public final void rule__WeightedTactic__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3004:1: rule__Action__Group_4__1 : rule__Action__Group_4__1__Impl rule__Action__Group_4__2 ;
+    public final void rule__Action__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10023:1: ( rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10024:2: rule__WeightedTactic__Group__5__Impl rule__WeightedTactic__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3008:1: ( rule__Action__Group_4__1__Impl rule__Action__Group_4__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3009:2: rule__Action__Group_4__1__Impl rule__Action__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__519804);
-            rule__WeightedTactic__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__1__Impl_in_rule__Action__Group_4__15955);
+            rule__Action__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__6_in_rule__WeightedTactic__Group__519807);
-            rule__WeightedTactic__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__2_in_rule__Action__Group_4__15958);
+            rule__Action__Group_4__2();
 
             state._fsp--;
 
@@ -25387,25 +7650,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__5"
+    // $ANTLR end "rule__Action__Group_4__1"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10031:1: rule__WeightedTactic__Group__5__Impl : ( 'currentWeight' ) ;
-    public final void rule__WeightedTactic__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3016:1: rule__Action__Group_4__1__Impl : ( ':' ) ;
+    public final void rule__Action__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10035:1: ( ( 'currentWeight' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10036:1: ( 'currentWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3020:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3021:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10036:1: ( 'currentWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10037:1: 'currentWeight'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3021:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3022:1: ':'
             {
-             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); 
-            match(input,83,FollowSets000.FOLLOW_83_in_rule__WeightedTactic__Group__5__Impl19835); 
-             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5()); 
+             before(grammarAccess.getActionAccess().getColonKeyword_4_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Action__Group_4__1__Impl5986); 
+             after(grammarAccess.getActionAccess().getColonKeyword_4_1()); 
 
             }
 
@@ -25424,26 +7687,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__5__Impl"
+    // $ANTLR end "rule__Action__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10050:1: rule__WeightedTactic__Group__6 : rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7 ;
-    public final void rule__WeightedTactic__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3035:1: rule__Action__Group_4__2 : rule__Action__Group_4__2__Impl ;
+    public final void rule__Action__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10054:1: ( rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10055:2: rule__WeightedTactic__Group__6__Impl rule__WeightedTactic__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3039:1: ( rule__Action__Group_4__2__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3040:2: rule__Action__Group_4__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__6__Impl_in_rule__WeightedTactic__Group__619866);
-            rule__WeightedTactic__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__7_in_rule__WeightedTactic__Group__619869);
-            rule__WeightedTactic__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__Group_4__2__Impl_in_rule__Action__Group_4__26017);
+            rule__Action__Group_4__2__Impl();
 
             state._fsp--;
 
@@ -25462,35 +7720,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__6"
+    // $ANTLR end "rule__Action__Group_4__2"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10062:1: rule__WeightedTactic__Group__6__Impl : ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) ) ;
-    public final void rule__WeightedTactic__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Action__Group_4__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3046:1: rule__Action__Group_4__2__Impl : ( ( rule__Action__OutputParamAssignment_4_2 ) ) ;
+    public final void rule__Action__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10066:1: ( ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10067:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3050:1: ( ( ( rule__Action__OutputParamAssignment_4_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3051:1: ( ( rule__Action__OutputParamAssignment_4_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10067:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10068:1: ( rule__WeightedTactic__CurrentWeightAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3051:1: ( ( rule__Action__OutputParamAssignment_4_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3052:1: ( rule__Action__OutputParamAssignment_4_2 )
             {
-             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10069:1: ( rule__WeightedTactic__CurrentWeightAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10069:2: rule__WeightedTactic__CurrentWeightAssignment_6
+             before(grammarAccess.getActionAccess().getOutputParamAssignment_4_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3053:1: ( rule__Action__OutputParamAssignment_4_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3053:2: rule__Action__OutputParamAssignment_4_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_6_in_rule__WeightedTactic__Group__6__Impl19896);
-            rule__WeightedTactic__CurrentWeightAssignment_6();
+            pushFollow(FollowSets000.FOLLOW_rule__Action__OutputParamAssignment_4_2_in_rule__Action__Group_4__2__Impl6044);
+            rule__Action__OutputParamAssignment_4_2();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6()); 
+             after(grammarAccess.getActionAccess().getOutputParamAssignment_4_2()); 
 
             }
 
@@ -25509,26 +7767,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__6__Impl"
+    // $ANTLR end "rule__Action__Group_4__2__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10079:1: rule__WeightedTactic__Group__7 : rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8 ;
-    public final void rule__WeightedTactic__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3069: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10083:1: ( rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10084:2: rule__WeightedTactic__Group__7__Impl rule__WeightedTactic__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3073:1: ( rule__Strategy__Group__0__Impl rule__Strategy__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3074:2: rule__Strategy__Group__0__Impl rule__Strategy__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__7__Impl_in_rule__WeightedTactic__Group__719926);
-            rule__WeightedTactic__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__06080);
+            rule__Strategy__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__8_in_rule__WeightedTactic__Group__719929);
-            rule__WeightedTactic__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__06083);
+            rule__Strategy__Group__1();
 
             state._fsp--;
 
@@ -25547,25 +7805,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__7"
+    // $ANTLR end "rule__Strategy__Group__0"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10091:1: rule__WeightedTactic__Group__7__Impl : ( 'defaultWeight' ) ;
-    public final void rule__WeightedTactic__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3081: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10095:1: ( ( 'defaultWeight' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10096:1: ( 'defaultWeight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3085:1: ( ( 'Strategy' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3086:1: ( 'Strategy' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10096:1: ( 'defaultWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10097:1: 'defaultWeight'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3086:1: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3087:1: 'Strategy'
             {
-             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); 
-            match(input,84,FollowSets000.FOLLOW_84_in_rule__WeightedTactic__Group__7__Impl19957); 
-             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7()); 
+             before(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); 
+            match(input,37,FollowSets000.FOLLOW_37_in_rule__Strategy__Group__0__Impl6111); 
+             after(grammarAccess.getStrategyAccess().getStrategyKeyword_0()); 
 
             }
 
@@ -25584,26 +7842,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__7__Impl"
+    // $ANTLR end "rule__Strategy__Group__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10110:1: rule__WeightedTactic__Group__8 : rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9 ;
-    public final void rule__WeightedTactic__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3100: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10114:1: ( rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10115:2: rule__WeightedTactic__Group__8__Impl rule__WeightedTactic__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3104:1: ( rule__Strategy__Group__1__Impl rule__Strategy__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3105:2: rule__Strategy__Group__1__Impl rule__Strategy__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__8__Impl_in_rule__WeightedTactic__Group__819988);
-            rule__WeightedTactic__Group__8__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__16142);
+            rule__Strategy__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__9_in_rule__WeightedTactic__Group__819991);
-            rule__WeightedTactic__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__16145);
+            rule__Strategy__Group__2();
 
             state._fsp--;
 
@@ -25622,35 +7880,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__8"
+    // $ANTLR end "rule__Strategy__Group__1"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10122:1: rule__WeightedTactic__Group__8__Impl : ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) ) ;
-    public final void rule__WeightedTactic__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3112:1: rule__Strategy__Group__1__Impl : ( ( rule__Strategy__NameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10126:1: ( ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10127:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3116:1: ( ( ( rule__Strategy__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3117:1: ( ( rule__Strategy__NameAssignment_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10127:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10128:1: ( rule__WeightedTactic__DefaultWeightAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3117:1: ( ( rule__Strategy__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3118:1: ( rule__Strategy__NameAssignment_1 )
             {
-             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10129:1: ( rule__WeightedTactic__DefaultWeightAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10129:2: rule__WeightedTactic__DefaultWeightAssignment_8
+             before(grammarAccess.getStrategyAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3119:1: ( rule__Strategy__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3119:2: rule__Strategy__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_8_in_rule__WeightedTactic__Group__8__Impl20018);
-            rule__WeightedTactic__DefaultWeightAssignment_8();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__NameAssignment_1_in_rule__Strategy__Group__1__Impl6172);
+            rule__Strategy__NameAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8()); 
+             after(grammarAccess.getStrategyAccess().getNameAssignment_1()); 
 
             }
 
@@ -25669,26 +7927,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__8__Impl"
+    // $ANTLR end "rule__Strategy__Group__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10139:1: rule__WeightedTactic__Group__9 : rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10 ;
-    public final void rule__WeightedTactic__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3129: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10143:1: ( rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10144:2: rule__WeightedTactic__Group__9__Impl rule__WeightedTactic__Group__10
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3133:1: ( rule__Strategy__Group__2__Impl rule__Strategy__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3134:2: rule__Strategy__Group__2__Impl rule__Strategy__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__9__Impl_in_rule__WeightedTactic__Group__920048);
-            rule__WeightedTactic__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__26202);
+            rule__Strategy__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__10_in_rule__WeightedTactic__Group__920051);
-            rule__WeightedTactic__Group__10();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__26205);
+            rule__Strategy__Group__3();
 
             state._fsp--;
 
@@ -25707,25 +7965,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__9"
+    // $ANTLR end "rule__Strategy__Group__2"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10151:1: rule__WeightedTactic__Group__9__Impl : ( 'usedTactic' ) ;
-    public final void rule__WeightedTactic__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3141: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10155:1: ( ( 'usedTactic' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10156:1: ( 'usedTactic' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3145:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3146:1: ( '{' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10156:1: ( 'usedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10157:1: 'usedTactic'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3146:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3147:1: '{'
             {
-             before(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); 
-            match(input,85,FollowSets000.FOLLOW_85_in_rule__WeightedTactic__Group__9__Impl20079); 
-             after(grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9()); 
+             before(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Strategy__Group__2__Impl6233); 
+             after(grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -25744,26 +8002,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__9__Impl"
+    // $ANTLR end "rule__Strategy__Group__2__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10170:1: rule__WeightedTactic__Group__10 : rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11 ;
-    public final void rule__WeightedTactic__Group__10() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3160: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10174:1: ( rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10175:2: rule__WeightedTactic__Group__10__Impl rule__WeightedTactic__Group__11
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3164:1: ( rule__Strategy__Group__3__Impl rule__Strategy__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3165:2: rule__Strategy__Group__3__Impl rule__Strategy__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__10__Impl_in_rule__WeightedTactic__Group__1020110);
-            rule__WeightedTactic__Group__10__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__36264);
+            rule__Strategy__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__11_in_rule__WeightedTactic__Group__1020113);
-            rule__WeightedTactic__Group__11();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__36267);
+            rule__Strategy__Group__4();
 
             state._fsp--;
 
@@ -25782,35 +8040,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__10"
+    // $ANTLR end "rule__Strategy__Group__3"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__10__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10182:1: rule__WeightedTactic__Group__10__Impl : ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) ) ;
-    public final void rule__WeightedTactic__Group__10__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3172:1: rule__Strategy__Group__3__Impl : ( 'objective' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10186:1: ( ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10187:1: ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3176:1: ( ( 'objective' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3177:1: ( 'objective' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10187:1: ( ( rule__WeightedTactic__UsedTacticAssignment_10 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10188:1: ( rule__WeightedTactic__UsedTacticAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3177:1: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3178:1: 'objective'
             {
-             before(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10189:1: ( rule__WeightedTactic__UsedTacticAssignment_10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10189:2: rule__WeightedTactic__UsedTacticAssignment_10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__UsedTacticAssignment_10_in_rule__WeightedTactic__Group__10__Impl20140);
-            rule__WeightedTactic__UsedTacticAssignment_10();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10()); 
+             before(grammarAccess.getStrategyAccess().getObjectiveKeyword_3()); 
+            match(input,38,FollowSets000.FOLLOW_38_in_rule__Strategy__Group__3__Impl6295); 
+             after(grammarAccess.getStrategyAccess().getObjectiveKeyword_3()); 
 
             }
 
@@ -25829,26 +8077,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__10__Impl"
+    // $ANTLR end "rule__Strategy__Group__3__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__11"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10199:1: rule__WeightedTactic__Group__11 : rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12 ;
-    public final void rule__WeightedTactic__Group__11() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3191: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10203:1: ( rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10204:2: rule__WeightedTactic__Group__11__Impl rule__WeightedTactic__Group__12
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3195:1: ( rule__Strategy__Group__4__Impl rule__Strategy__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3196:2: rule__Strategy__Group__4__Impl rule__Strategy__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__11__Impl_in_rule__WeightedTactic__Group__1120170);
-            rule__WeightedTactic__Group__11__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__46326);
+            rule__Strategy__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__12_in_rule__WeightedTactic__Group__1120173);
-            rule__WeightedTactic__Group__12();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__46329);
+            rule__Strategy__Group__5();
 
             state._fsp--;
 
@@ -25867,46 +8115,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__11"
+    // $ANTLR end "rule__Strategy__Group__4"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__11__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10211:1: rule__WeightedTactic__Group__11__Impl : ( ( rule__WeightedTactic__Group_11__0 )? ) ;
-    public final void rule__WeightedTactic__Group__11__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3203:1: rule__Strategy__Group__4__Impl : ( '=' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10215:1: ( ( ( rule__WeightedTactic__Group_11__0 )? ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10216:1: ( ( rule__WeightedTactic__Group_11__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3207:1: ( ( '=' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3208:1: ( '=' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10216:1: ( ( rule__WeightedTactic__Group_11__0 )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10217:1: ( rule__WeightedTactic__Group_11__0 )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3208:1: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3209:1: '='
             {
-             before(grammarAccess.getWeightedTacticAccess().getGroup_11()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10218:1: ( rule__WeightedTactic__Group_11__0 )?
-            int alt39=2;
-            int LA39_0 = input.LA(1);
-
-            if ( (LA39_0==86) ) {
-                alt39=1;
-            }
-            switch (alt39) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10218:2: rule__WeightedTactic__Group_11__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__0_in_rule__WeightedTactic__Group__11__Impl20200);
-                    rule__WeightedTactic__Group_11__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getGroup_11()); 
+             before(grammarAccess.getStrategyAccess().getEqualsSignKeyword_4()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__Strategy__Group__4__Impl6357); 
+             after(grammarAccess.getStrategyAccess().getEqualsSignKeyword_4()); 
 
             }
 
@@ -25925,21 +8152,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__11__Impl"
+    // $ANTLR end "rule__Strategy__Group__4__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__12"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10228:1: rule__WeightedTactic__Group__12 : rule__WeightedTactic__Group__12__Impl ;
-    public final void rule__WeightedTactic__Group__12() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3222: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10232:1: ( rule__WeightedTactic__Group__12__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10233:2: rule__WeightedTactic__Group__12__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3226:1: ( rule__Strategy__Group__5__Impl rule__Strategy__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3227:2: rule__Strategy__Group__5__Impl rule__Strategy__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__12__Impl_in_rule__WeightedTactic__Group__1220231);
-            rule__WeightedTactic__Group__12__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__56388);
+            rule__Strategy__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__56391);
+            rule__Strategy__Group__6();
 
             state._fsp--;
 
@@ -25958,25 +8190,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__12"
+    // $ANTLR end "rule__Strategy__Group__5"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group__12__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10239:1: rule__WeightedTactic__Group__12__Impl : ( '}' ) ;
-    public final void rule__WeightedTactic__Group__12__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3234:1: rule__Strategy__Group__5__Impl : ( ( rule__Strategy__ObjectiveAssignment_5 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10243:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10244:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3238:1: ( ( ( rule__Strategy__ObjectiveAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3239:1: ( ( rule__Strategy__ObjectiveAssignment_5 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3239:1: ( ( rule__Strategy__ObjectiveAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3240:1: ( rule__Strategy__ObjectiveAssignment_5 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10244:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10245:1: '}'
+             before(grammarAccess.getStrategyAccess().getObjectiveAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3241:1: ( rule__Strategy__ObjectiveAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3241:2: rule__Strategy__ObjectiveAssignment_5
             {
-             before(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__WeightedTactic__Group__12__Impl20259); 
-             after(grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__ObjectiveAssignment_5_in_rule__Strategy__Group__5__Impl6418);
+            rule__Strategy__ObjectiveAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getObjectiveAssignment_5()); 
 
             }
 
@@ -25995,26 +8237,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group__12__Impl"
+    // $ANTLR end "rule__Strategy__Group__5__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group_11__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10284: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 {
+    // $ANTLR start "rule__Strategy__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3251: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10288: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10289:2: 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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3255:1: ( rule__Strategy__Group__6__Impl rule__Strategy__Group__7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3256:2: rule__Strategy__Group__6__Impl rule__Strategy__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__0__Impl_in_rule__WeightedTactic__Group_11__020316);
-            rule__WeightedTactic__Group_11__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__66448);
+            rule__Strategy__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__1_in_rule__WeightedTactic__Group_11__020319);
-            rule__WeightedTactic__Group_11__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__66451);
+            rule__Strategy__Group__7();
 
             state._fsp--;
 
@@ -26033,25 +8275,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group_11__0"
+    // $ANTLR end "rule__Strategy__Group__6"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group_11__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10296:1: rule__WeightedTactic__Group_11__0__Impl : ( 'lastImpact' ) ;
-    public final void rule__WeightedTactic__Group_11__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3263:1: rule__Strategy__Group__6__Impl : ( 'triggeringEvents' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10300:1: ( ( 'lastImpact' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10301:1: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3267:1: ( ( 'triggeringEvents' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3268:1: ( 'triggeringEvents' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10301:1: ( 'lastImpact' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10302:1: 'lastImpact'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3268:1: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3269:1: 'triggeringEvents'
             {
-             before(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); 
-            match(input,86,FollowSets000.FOLLOW_86_in_rule__WeightedTactic__Group_11__0__Impl20347); 
-             after(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0()); 
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6()); 
+            match(input,40,FollowSets000.FOLLOW_40_in_rule__Strategy__Group__6__Impl6479); 
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6()); 
 
             }
 
@@ -26070,21 +8312,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group_11__0__Impl"
+    // $ANTLR end "rule__Strategy__Group__6__Impl"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group_11__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10315:1: rule__WeightedTactic__Group_11__1 : rule__WeightedTactic__Group_11__1__Impl ;
-    public final void rule__WeightedTactic__Group_11__1() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3282: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10319:1: ( rule__WeightedTactic__Group_11__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10320:2: rule__WeightedTactic__Group_11__1__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3286:1: ( rule__Strategy__Group__7__Impl rule__Strategy__Group__8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3287:2: rule__Strategy__Group__7__Impl rule__Strategy__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_11__1__Impl_in_rule__WeightedTactic__Group_11__120378);
-            rule__WeightedTactic__Group_11__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__76510);
+            rule__Strategy__Group__7__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__76513);
+            rule__Strategy__Group__8();
 
             state._fsp--;
 
@@ -26103,35 +8350,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group_11__1"
+    // $ANTLR end "rule__Strategy__Group__7"
 
 
-    // $ANTLR start "rule__WeightedTactic__Group_11__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10326:1: rule__WeightedTactic__Group_11__1__Impl : ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) ) ;
-    public final void rule__WeightedTactic__Group_11__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__7__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3294:1: rule__Strategy__Group__7__Impl : ( '=' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10330:1: ( ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10331:1: ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10331:1: ( ( rule__WeightedTactic__LastImpactAssignment_11_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10332:1: ( rule__WeightedTactic__LastImpactAssignment_11_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3298:1: ( ( '=' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3299:1: ( '=' )
             {
-             before(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10333:1: ( rule__WeightedTactic__LastImpactAssignment_11_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10333:2: rule__WeightedTactic__LastImpactAssignment_11_1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3299:1: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3300:1: '='
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__LastImpactAssignment_11_1_in_rule__WeightedTactic__Group_11__1__Impl20405);
-            rule__WeightedTactic__LastImpactAssignment_11_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1()); 
+             before(grammarAccess.getStrategyAccess().getEqualsSignKeyword_7()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__Strategy__Group__7__Impl6541); 
+             after(grammarAccess.getStrategyAccess().getEqualsSignKeyword_7()); 
 
             }
 
@@ -26150,26 +8387,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__Group_11__1__Impl"
+    // $ANTLR end "rule__Strategy__Group__7__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10347:1: rule__WeightingFunction__Group__0 : rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1 ;
-    public final void rule__WeightingFunction__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3313: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10351:1: ( rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10352:2: rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3317:1: ( rule__Strategy__Group__8__Impl rule__Strategy__Group__9 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3318:2: rule__Strategy__Group__8__Impl rule__Strategy__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__020439);
-            rule__WeightingFunction__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__86572);
+            rule__Strategy__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__020442);
-            rule__WeightingFunction__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__86575);
+            rule__Strategy__Group__9();
 
             state._fsp--;
 
@@ -26188,25 +8425,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__0"
+    // $ANTLR end "rule__Strategy__Group__8"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10359:1: rule__WeightingFunction__Group__0__Impl : ( 'WeightingFunction' ) ;
-    public final void rule__WeightingFunction__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__8__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3325: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10363:1: ( ( 'WeightingFunction' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10364:1: ( 'WeightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3329:1: ( ( ( rule__Strategy__TriggeringEventsAssignment_8 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3330:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3330:1: ( ( rule__Strategy__TriggeringEventsAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3331:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10364:1: ( 'WeightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10365:1: 'WeightingFunction'
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3332:1: ( rule__Strategy__TriggeringEventsAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3332:2: rule__Strategy__TriggeringEventsAssignment_8
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); 
-            match(input,87,FollowSets000.FOLLOW_87_in_rule__WeightingFunction__Group__0__Impl20470); 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl6602);
+            rule__Strategy__TriggeringEventsAssignment_8();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsAssignment_8()); 
 
             }
 
@@ -26225,26 +8472,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__0__Impl"
+    // $ANTLR end "rule__Strategy__Group__8__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10378:1: rule__WeightingFunction__Group__1 : rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2 ;
-    public final void rule__WeightingFunction__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__9"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3342: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10382:1: ( rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10383:2: rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3346:1: ( rule__Strategy__Group__9__Impl rule__Strategy__Group__10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3347:2: rule__Strategy__Group__9__Impl rule__Strategy__Group__10
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__120501);
-            rule__WeightingFunction__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__96632);
+            rule__Strategy__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__120504);
-            rule__WeightingFunction__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__96635);
+            rule__Strategy__Group__10();
 
             state._fsp--;
 
@@ -26263,35 +8510,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__1"
+    // $ANTLR end "rule__Strategy__Group__9"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10390:1: rule__WeightingFunction__Group__1__Impl : ( ( rule__WeightingFunction__IdAssignment_1 ) ) ;
-    public final void rule__WeightingFunction__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__9__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3354: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10394:1: ( ( ( rule__WeightingFunction__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10395:1: ( ( rule__WeightingFunction__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10395:1: ( ( rule__WeightingFunction__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10396:1: ( rule__WeightingFunction__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3358:1: ( ( 'tactics' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3359:1: ( 'tactics' )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10397:1: ( rule__WeightingFunction__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10397:2: rule__WeightingFunction__IdAssignment_1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3359:1: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3360:1: 'tactics'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__IdAssignment_1_in_rule__WeightingFunction__Group__1__Impl20531);
-            rule__WeightingFunction__IdAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightingFunctionAccess().getIdAssignment_1()); 
+             before(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Strategy__Group__9__Impl6663); 
+             after(grammarAccess.getStrategyAccess().getTacticsKeyword_9()); 
 
             }
 
@@ -26310,26 +8547,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__1__Impl"
+    // $ANTLR end "rule__Strategy__Group__9__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10407:1: rule__WeightingFunction__Group__2 : rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3 ;
-    public final void rule__WeightingFunction__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3373: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10411:1: ( rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10412:2: rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3377:1: ( rule__Strategy__Group__10__Impl rule__Strategy__Group__11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3378:2: rule__Strategy__Group__10__Impl rule__Strategy__Group__11
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__220561);
-            rule__WeightingFunction__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__106694);
+            rule__Strategy__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__220564);
-            rule__WeightingFunction__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__106697);
+            rule__Strategy__Group__11();
 
             state._fsp--;
 
@@ -26348,25 +8585,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__2"
+    // $ANTLR end "rule__Strategy__Group__10"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10419:1: rule__WeightingFunction__Group__2__Impl : ( '{' ) ;
-    public final void rule__WeightingFunction__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__10__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3385: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10423:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10424:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3389:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3390:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10424:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10425:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3390:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3391:1: ':'
             {
-             before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__WeightingFunction__Group__2__Impl20592); 
-             after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getStrategyAccess().getColonKeyword_10()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Strategy__Group__10__Impl6725); 
+             after(grammarAccess.getStrategyAccess().getColonKeyword_10()); 
 
             }
 
@@ -26385,26 +8622,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__2__Impl"
+    // $ANTLR end "rule__Strategy__Group__10__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10438:1: rule__WeightingFunction__Group__3 : rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4 ;
-    public final void rule__WeightingFunction__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3404: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10442:1: ( rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10443:2: rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3408:1: ( rule__Strategy__Group__11__Impl rule__Strategy__Group__12 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3409:2: rule__Strategy__Group__11__Impl rule__Strategy__Group__12
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__320623);
-            rule__WeightingFunction__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__116756);
+            rule__Strategy__Group__11__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__320626);
-            rule__WeightingFunction__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__116759);
+            rule__Strategy__Group__12();
 
             state._fsp--;
 
@@ -26423,25 +8660,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__3"
+    // $ANTLR end "rule__Strategy__Group__11"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10450:1: rule__WeightingFunction__Group__3__Impl : ( 'name' ) ;
-    public final void rule__WeightingFunction__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__11__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3416: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10454:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10455:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3420:1: ( ( ( rule__Strategy__TacticsAssignment_11 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3421:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10455:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10456:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3421:1: ( ( rule__Strategy__TacticsAssignment_11 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3422:1: ( rule__Strategy__TacticsAssignment_11 )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__WeightingFunction__Group__3__Impl20654); 
-             after(grammarAccess.getWeightingFunctionAccess().getNameKeyword_3()); 
+             before(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3423:1: ( rule__Strategy__TacticsAssignment_11 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3423:2: rule__Strategy__TacticsAssignment_11
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl6786);
+            rule__Strategy__TacticsAssignment_11();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTacticsAssignment_11()); 
 
             }
 
@@ -26460,26 +8707,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__3__Impl"
+    // $ANTLR end "rule__Strategy__Group__11__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10469:1: rule__WeightingFunction__Group__4 : rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5 ;
-    public final void rule__WeightingFunction__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__12"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3433: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10473:1: ( rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10474:2: rule__WeightingFunction__Group__4__Impl rule__WeightingFunction__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3437:1: ( rule__Strategy__Group__12__Impl rule__Strategy__Group__13 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3438:2: rule__Strategy__Group__12__Impl rule__Strategy__Group__13
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__420685);
-            rule__WeightingFunction__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__126816);
+            rule__Strategy__Group__12__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__5_in_rule__WeightingFunction__Group__420688);
-            rule__WeightingFunction__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__126819);
+            rule__Strategy__Group__13();
 
             state._fsp--;
 
@@ -26498,35 +8745,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__4"
+    // $ANTLR end "rule__Strategy__Group__12"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10481:1: rule__WeightingFunction__Group__4__Impl : ( ( rule__WeightingFunction__NameAssignment_4 ) ) ;
-    public final void rule__WeightingFunction__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__12__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3445: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10485:1: ( ( ( rule__WeightingFunction__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10486:1: ( ( rule__WeightingFunction__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10486:1: ( ( rule__WeightingFunction__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10487:1: ( rule__WeightingFunction__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3449:1: ( ( ( rule__Strategy__Group_12__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3450:1: ( ( rule__Strategy__Group_12__0 )* )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10488:1: ( rule__WeightingFunction__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10488:2: rule__WeightingFunction__NameAssignment_4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3450:1: ( ( rule__Strategy__Group_12__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3451:1: ( rule__Strategy__Group_12__0 )*
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__NameAssignment_4_in_rule__WeightingFunction__Group__4__Impl20715);
-            rule__WeightingFunction__NameAssignment_4();
+             before(grammarAccess.getStrategyAccess().getGroup_12()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3452:1: ( rule__Strategy__Group_12__0 )*
+            loop15:
+            do {
+                int alt15=2;
+                int LA15_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA15_0==28) ) {
+                    alt15=1;
+                }
 
 
-            }
+                switch (alt15) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3452:2: rule__Strategy__Group_12__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl6846);
+            	    rule__Strategy__Group_12__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop15;
+                }
+            } while (true);
 
-             after(grammarAccess.getWeightingFunctionAccess().getNameAssignment_4()); 
+             after(grammarAccess.getStrategyAccess().getGroup_12()); 
 
             }
 
@@ -26545,26 +8810,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__4__Impl"
+    // $ANTLR end "rule__Strategy__Group__12__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10498:1: rule__WeightingFunction__Group__5 : rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6 ;
-    public final void rule__WeightingFunction__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__13"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3462: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10502:1: ( rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10503:2: rule__WeightingFunction__Group__5__Impl rule__WeightingFunction__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3466:1: ( rule__Strategy__Group__13__Impl rule__Strategy__Group__14 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3467:2: rule__Strategy__Group__13__Impl rule__Strategy__Group__14
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__5__Impl_in_rule__WeightingFunction__Group__520745);
-            rule__WeightingFunction__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__136877);
+            rule__Strategy__Group__13__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__6_in_rule__WeightingFunction__Group__520748);
-            rule__WeightingFunction__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__136880);
+            rule__Strategy__Group__14();
 
             state._fsp--;
 
@@ -26583,25 +8848,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__5"
+    // $ANTLR end "rule__Strategy__Group__13"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10510:1: rule__WeightingFunction__Group__5__Impl : ( 'weightedMetrics' ) ;
-    public final void rule__WeightingFunction__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__13__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3474:1: rule__Strategy__Group__13__Impl : ( 'weightingFunction' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10514:1: ( ( 'weightedMetrics' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10515:1: ( 'weightedMetrics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3478:1: ( ( 'weightingFunction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3479:1: ( 'weightingFunction' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10515:1: ( 'weightedMetrics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10516:1: 'weightedMetrics'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3479:1: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3480:1: 'weightingFunction'
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_5()); 
-            match(input,88,FollowSets000.FOLLOW_88_in_rule__WeightingFunction__Group__5__Impl20776); 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_5()); 
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13()); 
+            match(input,41,FollowSets000.FOLLOW_41_in_rule__Strategy__Group__13__Impl6908); 
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13()); 
 
             }
 
@@ -26620,26 +8885,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__5__Impl"
+    // $ANTLR end "rule__Strategy__Group__13__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10529:1: rule__WeightingFunction__Group__6 : rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7 ;
-    public final void rule__WeightingFunction__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__14"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3493: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10533:1: ( rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10534:2: rule__WeightingFunction__Group__6__Impl rule__WeightingFunction__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3497:1: ( rule__Strategy__Group__14__Impl rule__Strategy__Group__15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3498:2: rule__Strategy__Group__14__Impl rule__Strategy__Group__15
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__6__Impl_in_rule__WeightingFunction__Group__620807);
-            rule__WeightingFunction__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__146939);
+            rule__Strategy__Group__14__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__7_in_rule__WeightingFunction__Group__620810);
-            rule__WeightingFunction__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__146942);
+            rule__Strategy__Group__15();
 
             state._fsp--;
 
@@ -26658,25 +8923,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__6"
+    // $ANTLR end "rule__Strategy__Group__14"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10541:1: rule__WeightingFunction__Group__6__Impl : ( '{' ) ;
-    public final void rule__WeightingFunction__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__14__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3505:1: rule__Strategy__Group__14__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10545:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10546:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3509:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3510:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10546:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10547:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3510:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3511:1: ':'
             {
-             before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_6()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__WeightingFunction__Group__6__Impl20838); 
-             after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_6()); 
+             before(grammarAccess.getStrategyAccess().getColonKeyword_14()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Strategy__Group__14__Impl6970); 
+             after(grammarAccess.getStrategyAccess().getColonKeyword_14()); 
 
             }
 
@@ -26695,26 +8960,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__6__Impl"
+    // $ANTLR end "rule__Strategy__Group__14__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10560:1: rule__WeightingFunction__Group__7 : rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8 ;
-    public final void rule__WeightingFunction__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3524: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10564:1: ( rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10565:2: rule__WeightingFunction__Group__7__Impl rule__WeightingFunction__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3528:1: ( rule__Strategy__Group__15__Impl rule__Strategy__Group__16 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3529:2: rule__Strategy__Group__15__Impl rule__Strategy__Group__16
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__7__Impl_in_rule__WeightingFunction__Group__720869);
-            rule__WeightingFunction__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__157001);
+            rule__Strategy__Group__15__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__8_in_rule__WeightingFunction__Group__720872);
-            rule__WeightingFunction__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__157004);
+            rule__Strategy__Group__16();
 
             state._fsp--;
 
@@ -26733,35 +8998,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__7"
+    // $ANTLR end "rule__Strategy__Group__15"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10572:1: rule__WeightingFunction__Group__7__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_7 ) ) ;
-    public final void rule__WeightingFunction__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__15__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3536: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10576:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_7 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10577:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_7 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3540:1: ( ( ( rule__Strategy__WeightingFunctionAssignment_15 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3541:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10577:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_7 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10578:1: ( rule__WeightingFunction__WeightedMetricsAssignment_7 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3541:1: ( ( rule__Strategy__WeightingFunctionAssignment_15 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3542:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_7()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10579:1: ( rule__WeightingFunction__WeightedMetricsAssignment_7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10579:2: rule__WeightingFunction__WeightedMetricsAssignment_7
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3543:1: ( rule__Strategy__WeightingFunctionAssignment_15 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3543:2: rule__Strategy__WeightingFunctionAssignment_15
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_7_in_rule__WeightingFunction__Group__7__Impl20899);
-            rule__WeightingFunction__WeightedMetricsAssignment_7();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl7031);
+            rule__Strategy__WeightingFunctionAssignment_15();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_7()); 
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionAssignment_15()); 
 
             }
 
@@ -26780,26 +9045,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__7__Impl"
+    // $ANTLR end "rule__Strategy__Group__15__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10589:1: rule__WeightingFunction__Group__8 : rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9 ;
-    public final void rule__WeightingFunction__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__16"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3553: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10593:1: ( rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10594:2: rule__WeightingFunction__Group__8__Impl rule__WeightingFunction__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3557:1: ( rule__Strategy__Group__16__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3558:2: rule__Strategy__Group__16__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__8__Impl_in_rule__WeightingFunction__Group__820929);
-            rule__WeightingFunction__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__9_in_rule__WeightingFunction__Group__820932);
-            rule__WeightingFunction__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__167061);
+            rule__Strategy__Group__16__Impl();
 
             state._fsp--;
 
@@ -26818,53 +9078,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__8"
+    // $ANTLR end "rule__Strategy__Group__16"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10601:1: rule__WeightingFunction__Group__8__Impl : ( ( rule__WeightingFunction__Group_8__0 )* ) ;
-    public final void rule__WeightingFunction__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group__16__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3564: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10605:1: ( ( ( rule__WeightingFunction__Group_8__0 )* ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10606:1: ( ( rule__WeightingFunction__Group_8__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3568:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3569:1: ( '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10606:1: ( ( rule__WeightingFunction__Group_8__0 )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10607:1: ( rule__WeightingFunction__Group_8__0 )*
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3569:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3570:1: '}'
             {
-             before(grammarAccess.getWeightingFunctionAccess().getGroup_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10608:1: ( rule__WeightingFunction__Group_8__0 )*
-            loop40:
-            do {
-                int alt40=2;
-                int LA40_0 = input.LA(1);
-
-                if ( (LA40_0==24) ) {
-                    alt40=1;
-                }
-
-
-                switch (alt40) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10608:2: rule__WeightingFunction__Group_8__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_8__0_in_rule__WeightingFunction__Group__8__Impl20959);
-            	    rule__WeightingFunction__Group_8__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop40;
-                }
-            } while (true);
-
-             after(grammarAccess.getWeightingFunctionAccess().getGroup_8()); 
+             before(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__Strategy__Group__16__Impl7089); 
+             after(grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16()); 
 
             }
 
@@ -26883,26 +9115,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__8__Impl"
+    // $ANTLR end "rule__Strategy__Group__16__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10618:1: rule__WeightingFunction__Group__9 : rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10 ;
-    public final void rule__WeightingFunction__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group_12__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3617: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10622:1: ( rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10623:2: rule__WeightingFunction__Group__9__Impl rule__WeightingFunction__Group__10
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3621: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3622:2: rule__Strategy__Group_12__0__Impl rule__Strategy__Group_12__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__9__Impl_in_rule__WeightingFunction__Group__920990);
-            rule__WeightingFunction__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__0__Impl_in_rule__Strategy__Group_12__07154);
+            rule__Strategy__Group_12__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__10_in_rule__WeightingFunction__Group__920993);
-            rule__WeightingFunction__Group__10();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__07157);
+            rule__Strategy__Group_12__1();
 
             state._fsp--;
 
@@ -26921,25 +9153,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__9"
+    // $ANTLR end "rule__Strategy__Group_12__0"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10630:1: rule__WeightingFunction__Group__9__Impl : ( '}' ) ;
-    public final void rule__WeightingFunction__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group_12__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3629: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10634:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10635:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3633:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3634:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10635:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10636:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3634:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3635:1: ','
             {
-             before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__WeightingFunction__Group__9__Impl21021); 
-             after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9()); 
+             before(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__Strategy__Group_12__0__Impl7185); 
+             after(grammarAccess.getStrategyAccess().getCommaKeyword_12_0()); 
 
             }
 
@@ -26958,21 +9190,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__9__Impl"
+    // $ANTLR end "rule__Strategy__Group_12__0__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10649:1: rule__WeightingFunction__Group__10 : rule__WeightingFunction__Group__10__Impl ;
-    public final void rule__WeightingFunction__Group__10() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group_12__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3648: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10653:1: ( rule__WeightingFunction__Group__10__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10654:2: rule__WeightingFunction__Group__10__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3652:1: ( rule__Strategy__Group_12__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3653:2: rule__Strategy__Group_12__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__10__Impl_in_rule__WeightingFunction__Group__1021052);
-            rule__WeightingFunction__Group__10__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__17216);
+            rule__Strategy__Group_12__1__Impl();
 
             state._fsp--;
 
@@ -26991,25 +9223,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__10"
+    // $ANTLR end "rule__Strategy__Group_12__1"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group__10__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10660:1: rule__WeightingFunction__Group__10__Impl : ( '}' ) ;
-    public final void rule__WeightingFunction__Group__10__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__Group_12__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3659: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10664:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10665:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3663:1: ( ( ( rule__Strategy__TacticsAssignment_12_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3664:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10665:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10666:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3664:1: ( ( rule__Strategy__TacticsAssignment_12_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3665: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3666:1: ( rule__Strategy__TacticsAssignment_12_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3666:2: rule__Strategy__TacticsAssignment_12_1
             {
-             before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__WeightingFunction__Group__10__Impl21080); 
-             after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl7243);
+            rule__Strategy__TacticsAssignment_12_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getTacticsAssignment_12_1()); 
 
             }
 
@@ -27028,26 +9270,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group__10__Impl"
+    // $ANTLR end "rule__Strategy__Group_12__1__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group_8__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10701:1: rule__WeightingFunction__Group_8__0 : rule__WeightingFunction__Group_8__0__Impl rule__WeightingFunction__Group_8__1 ;
-    public final void rule__WeightingFunction__Group_8__0() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3680: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10705:1: ( rule__WeightingFunction__Group_8__0__Impl rule__WeightingFunction__Group_8__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10706:2: rule__WeightingFunction__Group_8__0__Impl rule__WeightingFunction__Group_8__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3684:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3685:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_8__0__Impl_in_rule__WeightingFunction__Group_8__021133);
-            rule__WeightingFunction__Group_8__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__07277);
+            rule__Parameter__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_8__1_in_rule__WeightingFunction__Group_8__021136);
-            rule__WeightingFunction__Group_8__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__07280);
+            rule__Parameter__Group__1();
 
             state._fsp--;
 
@@ -27066,25 +9308,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group_8__0"
+    // $ANTLR end "rule__Parameter__Group__0"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group_8__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10713:1: rule__WeightingFunction__Group_8__0__Impl : ( ',' ) ;
-    public final void rule__WeightingFunction__Group_8__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3692:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__TypeAssignment_0 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10717:1: ( ( ',' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10718:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3696:1: ( ( ( rule__Parameter__TypeAssignment_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3697:1: ( ( rule__Parameter__TypeAssignment_0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10718:1: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10719:1: ','
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3697:1: ( ( rule__Parameter__TypeAssignment_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3698:1: ( rule__Parameter__TypeAssignment_0 )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__WeightingFunction__Group_8__0__Impl21164); 
-             after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0()); 
+             before(grammarAccess.getParameterAccess().getTypeAssignment_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3699:1: ( rule__Parameter__TypeAssignment_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3699:2: rule__Parameter__TypeAssignment_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__TypeAssignment_0_in_rule__Parameter__Group__0__Impl7307);
+            rule__Parameter__TypeAssignment_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getParameterAccess().getTypeAssignment_0()); 
 
             }
 
@@ -27103,21 +9355,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group_8__0__Impl"
+    // $ANTLR end "rule__Parameter__Group__0__Impl"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group_8__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10732:1: rule__WeightingFunction__Group_8__1 : rule__WeightingFunction__Group_8__1__Impl ;
-    public final void rule__WeightingFunction__Group_8__1() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3709:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10736:1: ( rule__WeightingFunction__Group_8__1__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10737:2: rule__WeightingFunction__Group_8__1__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3713:1: ( rule__Parameter__Group__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3714:2: rule__Parameter__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_8__1__Impl_in_rule__WeightingFunction__Group_8__121195);
-            rule__WeightingFunction__Group_8__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__17337);
+            rule__Parameter__Group__1__Impl();
 
             state._fsp--;
 
@@ -27136,35 +9388,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group_8__1"
+    // $ANTLR end "rule__Parameter__Group__1"
 
 
-    // $ANTLR start "rule__WeightingFunction__Group_8__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10743:1: rule__WeightingFunction__Group_8__1__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 ) ) ;
-    public final void rule__WeightingFunction__Group_8__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3720: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10747:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10748:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3724:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3725:1: ( ( rule__Parameter__NameAssignment_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10748:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10749:1: ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3725:1: ( ( rule__Parameter__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3726:1: ( rule__Parameter__NameAssignment_1 )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10750:1: ( rule__WeightingFunction__WeightedMetricsAssignment_8_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10750:2: rule__WeightingFunction__WeightedMetricsAssignment_8_1
+             before(grammarAccess.getParameterAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3727:1: ( rule__Parameter__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3727:2: rule__Parameter__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_8_1_in_rule__WeightingFunction__Group_8__1__Impl21222);
-            rule__WeightingFunction__WeightedMetricsAssignment_8_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl7364);
+            rule__Parameter__NameAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1()); 
+             after(grammarAccess.getParameterAccess().getNameAssignment_1()); 
 
             }
 
@@ -27183,26 +9435,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__Group_8__1__Impl"
+    // $ANTLR end "rule__Parameter__Group__1__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10767:1: rule__MetricValue__Group__0 : rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1 ;
-    public final void rule__MetricValue__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3741: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10771:1: ( rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10772:2: rule__MetricValue__Group__0__Impl rule__MetricValue__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3745:1: ( rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3746:2: rule__OverallGoal__Group__0__Impl rule__OverallGoal__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__0__Impl_in_rule__MetricValue__Group__021259);
-            rule__MetricValue__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__07398);
+            rule__OverallGoal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__1_in_rule__MetricValue__Group__021262);
-            rule__MetricValue__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__07401);
+            rule__OverallGoal__Group__1();
 
             state._fsp--;
 
@@ -27221,25 +9473,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__0"
+    // $ANTLR end "rule__OverallGoal__Group__0"
 
 
-    // $ANTLR start "rule__MetricValue__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10779:1: rule__MetricValue__Group__0__Impl : ( 'MetricValue' ) ;
-    public final void rule__MetricValue__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3753:1: rule__OverallGoal__Group__0__Impl : ( 'Description' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10783:1: ( ( 'MetricValue' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10784:1: ( 'MetricValue' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3757:1: ( ( 'Description' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3758:1: ( 'Description' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10784:1: ( 'MetricValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10785:1: 'MetricValue'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3758:1: ( 'Description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3759:1: 'Description'
             {
-             before(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); 
-            match(input,89,FollowSets000.FOLLOW_89_in_rule__MetricValue__Group__0__Impl21290); 
-             after(grammarAccess.getMetricValueAccess().getMetricValueKeyword_0()); 
+             before(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0()); 
+            match(input,42,FollowSets000.FOLLOW_42_in_rule__OverallGoal__Group__0__Impl7429); 
+             after(grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0()); 
 
             }
 
@@ -27258,26 +9510,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__0__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__0__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10798:1: rule__MetricValue__Group__1 : rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2 ;
-    public final void rule__MetricValue__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3772: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10802:1: ( rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10803:2: rule__MetricValue__Group__1__Impl rule__MetricValue__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3776:1: ( rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3777:2: rule__OverallGoal__Group__1__Impl rule__OverallGoal__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__1__Impl_in_rule__MetricValue__Group__121321);
-            rule__MetricValue__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__17460);
+            rule__OverallGoal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__2_in_rule__MetricValue__Group__121324);
-            rule__MetricValue__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__17463);
+            rule__OverallGoal__Group__2();
 
             state._fsp--;
 
@@ -27296,35 +9548,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__1"
+    // $ANTLR end "rule__OverallGoal__Group__1"
 
 
-    // $ANTLR start "rule__MetricValue__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10810:1: rule__MetricValue__Group__1__Impl : ( ( rule__MetricValue__IdAssignment_1 ) ) ;
-    public final void rule__MetricValue__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3784: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10814:1: ( ( ( rule__MetricValue__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10815:1: ( ( rule__MetricValue__IdAssignment_1 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10815:1: ( ( rule__MetricValue__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10816:1: ( rule__MetricValue__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3788:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3789:1: ( ':' )
             {
-             before(grammarAccess.getMetricValueAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10817:1: ( rule__MetricValue__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10817:2: rule__MetricValue__IdAssignment_1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3789:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3790:1: ':'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__IdAssignment_1_in_rule__MetricValue__Group__1__Impl21351);
-            rule__MetricValue__IdAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getMetricValueAccess().getIdAssignment_1()); 
+             before(grammarAccess.getOverallGoalAccess().getColonKeyword_1()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__OverallGoal__Group__1__Impl7491); 
+             after(grammarAccess.getOverallGoalAccess().getColonKeyword_1()); 
 
             }
 
@@ -27343,26 +9585,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__1__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__1__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10827:1: rule__MetricValue__Group__2 : rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3 ;
-    public final void rule__MetricValue__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3803: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10831:1: ( rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10832:2: rule__MetricValue__Group__2__Impl rule__MetricValue__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3807:1: ( rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3808:2: rule__OverallGoal__Group__2__Impl rule__OverallGoal__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__2__Impl_in_rule__MetricValue__Group__221381);
-            rule__MetricValue__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__27522);
+            rule__OverallGoal__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__3_in_rule__MetricValue__Group__221384);
-            rule__MetricValue__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__27525);
+            rule__OverallGoal__Group__3();
 
             state._fsp--;
 
@@ -27381,25 +9623,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__2"
+    // $ANTLR end "rule__OverallGoal__Group__2"
 
 
-    // $ANTLR start "rule__MetricValue__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10839:1: rule__MetricValue__Group__2__Impl : ( '{' ) ;
-    public final void rule__MetricValue__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3815:1: rule__OverallGoal__Group__2__Impl : ( ( rule__OverallGoal__DescriptionAssignment_2 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10843:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10844:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3819:1: ( ( ( rule__OverallGoal__DescriptionAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3820:1: ( ( rule__OverallGoal__DescriptionAssignment_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10844:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10845:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3820:1: ( ( rule__OverallGoal__DescriptionAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3821:1: ( rule__OverallGoal__DescriptionAssignment_2 )
             {
-             before(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets000.FOLLOW_17_in_rule__MetricValue__Group__2__Impl21412); 
-             after(grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3822:1: ( rule__OverallGoal__DescriptionAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3822:2: rule__OverallGoal__DescriptionAssignment_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__DescriptionAssignment_2_in_rule__OverallGoal__Group__2__Impl7552);
+            rule__OverallGoal__DescriptionAssignment_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2()); 
 
             }
 
@@ -27418,26 +9670,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__2__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__2__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10858:1: rule__MetricValue__Group__3 : rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4 ;
-    public final void rule__MetricValue__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3832: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10862:1: ( rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10863:2: rule__MetricValue__Group__3__Impl rule__MetricValue__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3836:1: ( rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3837:2: rule__OverallGoal__Group__3__Impl rule__OverallGoal__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__3__Impl_in_rule__MetricValue__Group__321443);
-            rule__MetricValue__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__37582);
+            rule__OverallGoal__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__4_in_rule__MetricValue__Group__321446);
-            rule__MetricValue__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__37585);
+            rule__OverallGoal__Group__4();
 
             state._fsp--;
 
@@ -27456,25 +9708,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__3"
+    // $ANTLR end "rule__OverallGoal__Group__3"
 
 
-    // $ANTLR start "rule__MetricValue__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10870:1: rule__MetricValue__Group__3__Impl : ( 'name' ) ;
-    public final void rule__MetricValue__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3844:1: rule__OverallGoal__Group__3__Impl : ( 'objectives' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10874:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10875:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3848:1: ( ( 'objectives' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3849:1: ( 'objectives' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10875:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10876:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3849:1: ( 'objectives' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3850:1: 'objectives'
             {
-             before(grammarAccess.getMetricValueAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__MetricValue__Group__3__Impl21474); 
-             after(grammarAccess.getMetricValueAccess().getNameKeyword_3()); 
+             before(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3()); 
+            match(input,43,FollowSets000.FOLLOW_43_in_rule__OverallGoal__Group__3__Impl7613); 
+             after(grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3()); 
 
             }
 
@@ -27493,26 +9745,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__3__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10889:1: rule__MetricValue__Group__4 : rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5 ;
-    public final void rule__MetricValue__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3863: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10893:1: ( rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10894:2: rule__MetricValue__Group__4__Impl rule__MetricValue__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3867:1: ( rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3868:2: rule__OverallGoal__Group__4__Impl rule__OverallGoal__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__4__Impl_in_rule__MetricValue__Group__421505);
-            rule__MetricValue__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__47644);
+            rule__OverallGoal__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__5_in_rule__MetricValue__Group__421508);
-            rule__MetricValue__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__47647);
+            rule__OverallGoal__Group__5();
 
             state._fsp--;
 
@@ -27531,35 +9783,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__4"
+    // $ANTLR end "rule__OverallGoal__Group__4"
 
 
-    // $ANTLR start "rule__MetricValue__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10901:1: rule__MetricValue__Group__4__Impl : ( ( rule__MetricValue__NameAssignment_4 ) ) ;
-    public final void rule__MetricValue__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3875:1: rule__OverallGoal__Group__4__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10905:1: ( ( ( rule__MetricValue__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10906:1: ( ( rule__MetricValue__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10906:1: ( ( rule__MetricValue__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10907:1: ( rule__MetricValue__NameAssignment_4 )
-            {
-             before(grammarAccess.getMetricValueAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10908:1: ( rule__MetricValue__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10908:2: rule__MetricValue__NameAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__NameAssignment_4_in_rule__MetricValue__Group__4__Impl21535);
-            rule__MetricValue__NameAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getMetricValueAccess().getNameAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3879:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3880:1: ( ':' )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3880:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3881:1: ':'
+            {
+             before(grammarAccess.getOverallGoalAccess().getColonKeyword_4()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__OverallGoal__Group__4__Impl7675); 
+             after(grammarAccess.getOverallGoalAccess().getColonKeyword_4()); 
 
             }
 
@@ -27578,26 +9820,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__4__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__4__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10918:1: rule__MetricValue__Group__5 : rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6 ;
-    public final void rule__MetricValue__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3894: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10922:1: ( rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10923:2: rule__MetricValue__Group__5__Impl rule__MetricValue__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3898:1: ( rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3899:2: rule__OverallGoal__Group__5__Impl rule__OverallGoal__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__5__Impl_in_rule__MetricValue__Group__521565);
-            rule__MetricValue__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__57706);
+            rule__OverallGoal__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__6_in_rule__MetricValue__Group__521568);
-            rule__MetricValue__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__57709);
+            rule__OverallGoal__Group__6();
 
             state._fsp--;
 
@@ -27616,25 +9858,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__5"
+    // $ANTLR end "rule__OverallGoal__Group__5"
 
 
-    // $ANTLR start "rule__MetricValue__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10930:1: rule__MetricValue__Group__5__Impl : ( 'value' ) ;
-    public final void rule__MetricValue__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3906:1: rule__OverallGoal__Group__5__Impl : ( ( rule__OverallGoal__ObjectivesAssignment_5 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10934:1: ( ( 'value' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10935:1: ( 'value' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3910:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3911:1: ( ( rule__OverallGoal__ObjectivesAssignment_5 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10935:1: ( 'value' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10936:1: 'value'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3911:1: ( ( rule__OverallGoal__ObjectivesAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3912:1: ( rule__OverallGoal__ObjectivesAssignment_5 )
             {
-             before(grammarAccess.getMetricValueAccess().getValueKeyword_5()); 
-            match(input,90,FollowSets000.FOLLOW_90_in_rule__MetricValue__Group__5__Impl21596); 
-             after(grammarAccess.getMetricValueAccess().getValueKeyword_5()); 
+             before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3913:1: ( rule__OverallGoal__ObjectivesAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3913:2: rule__OverallGoal__ObjectivesAssignment_5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_5_in_rule__OverallGoal__Group__5__Impl7736);
+            rule__OverallGoal__ObjectivesAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5()); 
 
             }
 
@@ -27653,26 +9905,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__5__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__5__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10949:1: rule__MetricValue__Group__6 : rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7 ;
-    public final void rule__MetricValue__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__6"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3923:1: rule__OverallGoal__Group__6 : rule__OverallGoal__Group__6__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10953:1: ( rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10954:2: rule__MetricValue__Group__6__Impl rule__MetricValue__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3927:1: ( rule__OverallGoal__Group__6__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3928:2: rule__OverallGoal__Group__6__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__6__Impl_in_rule__MetricValue__Group__621627);
-            rule__MetricValue__Group__6__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__7_in_rule__MetricValue__Group__621630);
-            rule__MetricValue__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__67766);
+            rule__OverallGoal__Group__6__Impl();
 
             state._fsp--;
 
@@ -27691,35 +9938,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__6"
+    // $ANTLR end "rule__OverallGoal__Group__6"
 
 
-    // $ANTLR start "rule__MetricValue__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10961:1: rule__MetricValue__Group__6__Impl : ( ( rule__MetricValue__ValueAssignment_6 ) ) ;
-    public final void rule__MetricValue__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group__6__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3934:1: rule__OverallGoal__Group__6__Impl : ( ( rule__OverallGoal__Group_6__0 )* ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10965:1: ( ( ( rule__MetricValue__ValueAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10966:1: ( ( rule__MetricValue__ValueAssignment_6 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10966:1: ( ( rule__MetricValue__ValueAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10967:1: ( rule__MetricValue__ValueAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3938:1: ( ( ( rule__OverallGoal__Group_6__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3939:1: ( ( rule__OverallGoal__Group_6__0 )* )
             {
-             before(grammarAccess.getMetricValueAccess().getValueAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10968:1: ( rule__MetricValue__ValueAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10968:2: rule__MetricValue__ValueAssignment_6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3939:1: ( ( rule__OverallGoal__Group_6__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3940:1: ( rule__OverallGoal__Group_6__0 )*
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__ValueAssignment_6_in_rule__MetricValue__Group__6__Impl21657);
-            rule__MetricValue__ValueAssignment_6();
+             before(grammarAccess.getOverallGoalAccess().getGroup_6()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3941:1: ( rule__OverallGoal__Group_6__0 )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA16_0==28) ) {
+                    alt16=1;
+                }
 
 
-            }
+                switch (alt16) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3941:2: rule__OverallGoal__Group_6__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_6__0_in_rule__OverallGoal__Group__6__Impl7793);
+            	    rule__OverallGoal__Group_6__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
 
-             after(grammarAccess.getMetricValueAccess().getValueAssignment_6()); 
+             after(grammarAccess.getOverallGoalAccess().getGroup_6()); 
 
             }
 
@@ -27738,26 +10003,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__6__Impl"
+    // $ANTLR end "rule__OverallGoal__Group__6__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10978:1: rule__MetricValue__Group__7 : rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8 ;
-    public final void rule__MetricValue__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group_6__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3965:1: rule__OverallGoal__Group_6__0 : rule__OverallGoal__Group_6__0__Impl rule__OverallGoal__Group_6__1 ;
+    public final void rule__OverallGoal__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10982:1: ( rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10983:2: rule__MetricValue__Group__7__Impl rule__MetricValue__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3969:1: ( rule__OverallGoal__Group_6__0__Impl rule__OverallGoal__Group_6__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3970:2: rule__OverallGoal__Group_6__0__Impl rule__OverallGoal__Group_6__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__7__Impl_in_rule__MetricValue__Group__721687);
-            rule__MetricValue__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_6__0__Impl_in_rule__OverallGoal__Group_6__07838);
+            rule__OverallGoal__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__8_in_rule__MetricValue__Group__721690);
-            rule__MetricValue__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_6__1_in_rule__OverallGoal__Group_6__07841);
+            rule__OverallGoal__Group_6__1();
 
             state._fsp--;
 
@@ -27776,25 +10041,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__7"
+    // $ANTLR end "rule__OverallGoal__Group_6__0"
 
 
-    // $ANTLR start "rule__MetricValue__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10990:1: rule__MetricValue__Group__7__Impl : ( 'measuredEntity' ) ;
-    public final void rule__MetricValue__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group_6__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3977:1: rule__OverallGoal__Group_6__0__Impl : ( ',' ) ;
+    public final void rule__OverallGoal__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10994:1: ( ( 'measuredEntity' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10995:1: ( 'measuredEntity' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3981:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3982:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10995:1: ( 'measuredEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:10996:1: 'measuredEntity'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3982:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3983:1: ','
             {
-             before(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); 
-            match(input,91,FollowSets000.FOLLOW_91_in_rule__MetricValue__Group__7__Impl21718); 
-             after(grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7()); 
+             before(grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__OverallGoal__Group_6__0__Impl7869); 
+             after(grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0()); 
 
             }
 
@@ -27813,26 +10078,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__7__Impl"
+    // $ANTLR end "rule__OverallGoal__Group_6__0__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11009:1: rule__MetricValue__Group__8 : rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9 ;
-    public final void rule__MetricValue__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group_6__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:3996:1: rule__OverallGoal__Group_6__1 : rule__OverallGoal__Group_6__1__Impl ;
+    public final void rule__OverallGoal__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11013:1: ( rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11014:2: rule__MetricValue__Group__8__Impl rule__MetricValue__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4000:1: ( rule__OverallGoal__Group_6__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4001:2: rule__OverallGoal__Group_6__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__8__Impl_in_rule__MetricValue__Group__821749);
-            rule__MetricValue__Group__8__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__9_in_rule__MetricValue__Group__821752);
-            rule__MetricValue__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__Group_6__1__Impl_in_rule__OverallGoal__Group_6__17900);
+            rule__OverallGoal__Group_6__1__Impl();
 
             state._fsp--;
 
@@ -27851,35 +10111,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__8"
+    // $ANTLR end "rule__OverallGoal__Group_6__1"
 
 
-    // $ANTLR start "rule__MetricValue__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11021:1: rule__MetricValue__Group__8__Impl : ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) ) ;
-    public final void rule__MetricValue__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__Group_6__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4007:1: rule__OverallGoal__Group_6__1__Impl : ( ( rule__OverallGoal__ObjectivesAssignment_6_1 ) ) ;
+    public final void rule__OverallGoal__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11025:1: ( ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11026:1: ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4011:1: ( ( ( rule__OverallGoal__ObjectivesAssignment_6_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4012:1: ( ( rule__OverallGoal__ObjectivesAssignment_6_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11026:1: ( ( rule__MetricValue__MeasuredEntityAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11027:1: ( rule__MetricValue__MeasuredEntityAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4012:1: ( ( rule__OverallGoal__ObjectivesAssignment_6_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4013:1: ( rule__OverallGoal__ObjectivesAssignment_6_1 )
             {
-             before(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11028:1: ( rule__MetricValue__MeasuredEntityAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11028:2: rule__MetricValue__MeasuredEntityAssignment_8
+             before(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4014:1: ( rule__OverallGoal__ObjectivesAssignment_6_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4014:2: rule__OverallGoal__ObjectivesAssignment_6_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__MeasuredEntityAssignment_8_in_rule__MetricValue__Group__8__Impl21779);
-            rule__MetricValue__MeasuredEntityAssignment_8();
+            pushFollow(FollowSets000.FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_1_in_rule__OverallGoal__Group_6__1__Impl7927);
+            rule__OverallGoal__ObjectivesAssignment_6_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8()); 
+             after(grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1()); 
 
             }
 
@@ -27898,26 +10158,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__8__Impl"
+    // $ANTLR end "rule__OverallGoal__Group_6__1__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11038:1: rule__MetricValue__Group__9 : rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10 ;
-    public final void rule__MetricValue__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4028: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11042:1: ( rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11043:2: rule__MetricValue__Group__9__Impl rule__MetricValue__Group__10
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4032:1: ( rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4033:2: rule__AdaptationPlan__Group__0__Impl rule__AdaptationPlan__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__9__Impl_in_rule__MetricValue__Group__921809);
-            rule__MetricValue__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__07961);
+            rule__AdaptationPlan__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__10_in_rule__MetricValue__Group__921812);
-            rule__MetricValue__Group__10();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__07964);
+            rule__AdaptationPlan__Group__1();
 
             state._fsp--;
 
@@ -27936,25 +10196,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__9"
+    // $ANTLR end "rule__AdaptationPlan__Group__0"
 
 
-    // $ANTLR start "rule__MetricValue__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11050:1: rule__MetricValue__Group__9__Impl : ( 'metricType' ) ;
-    public final void rule__MetricValue__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4040:1: rule__AdaptationPlan__Group__0__Impl : ( ( rule__AdaptationPlan__StepsAssignment_0 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11054:1: ( ( 'metricType' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11055:1: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4044:1: ( ( ( rule__AdaptationPlan__StepsAssignment_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4045:1: ( ( rule__AdaptationPlan__StepsAssignment_0 ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4045:1: ( ( rule__AdaptationPlan__StepsAssignment_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4046:1: ( rule__AdaptationPlan__StepsAssignment_0 )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11055:1: ( 'metricType' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11056:1: 'metricType'
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4047:1: ( rule__AdaptationPlan__StepsAssignment_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4047:2: rule__AdaptationPlan__StepsAssignment_0
             {
-             before(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); 
-            match(input,92,FollowSets000.FOLLOW_92_in_rule__MetricValue__Group__9__Impl21840); 
-             after(grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9()); 
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_0_in_rule__AdaptationPlan__Group__0__Impl7991);
+            rule__AdaptationPlan__StepsAssignment_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0()); 
 
             }
 
@@ -27973,26 +10243,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__9__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group__0__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11069:1: rule__MetricValue__Group__10 : rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11 ;
-    public final void rule__MetricValue__Group__10() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4057: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11073:1: ( rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11074:2: rule__MetricValue__Group__10__Impl rule__MetricValue__Group__11
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4061:1: ( rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4062:2: rule__AdaptationPlan__Group__1__Impl rule__AdaptationPlan__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__10__Impl_in_rule__MetricValue__Group__1021871);
-            rule__MetricValue__Group__10__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__18021);
+            rule__AdaptationPlan__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__11_in_rule__MetricValue__Group__1021874);
-            rule__MetricValue__Group__11();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__18024);
+            rule__AdaptationPlan__Group__2();
 
             state._fsp--;
 
@@ -28011,35 +10281,68 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__10"
+    // $ANTLR end "rule__AdaptationPlan__Group__1"
 
 
-    // $ANTLR start "rule__MetricValue__Group__10__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11081:1: rule__MetricValue__Group__10__Impl : ( ( rule__MetricValue__MetricTypeAssignment_10 ) ) ;
-    public final void rule__MetricValue__Group__10__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4069:1: rule__AdaptationPlan__Group__1__Impl : ( ( rule__AdaptationPlan__Group_1__0 )* ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11085:1: ( ( ( rule__MetricValue__MetricTypeAssignment_10 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11086:1: ( ( rule__MetricValue__MetricTypeAssignment_10 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4073:1: ( ( ( rule__AdaptationPlan__Group_1__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4074:1: ( ( rule__AdaptationPlan__Group_1__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11086:1: ( ( rule__MetricValue__MetricTypeAssignment_10 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11087:1: ( rule__MetricValue__MetricTypeAssignment_10 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4074:1: ( ( rule__AdaptationPlan__Group_1__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4075:1: ( rule__AdaptationPlan__Group_1__0 )*
             {
-             before(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11088:1: ( rule__MetricValue__MetricTypeAssignment_10 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11088:2: rule__MetricValue__MetricTypeAssignment_10
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__MetricTypeAssignment_10_in_rule__MetricValue__Group__10__Impl21901);
-            rule__MetricValue__MetricTypeAssignment_10();
+             before(grammarAccess.getAdaptationPlanAccess().getGroup_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4076:1: ( rule__AdaptationPlan__Group_1__0 )*
+            loop17:
+            do {
+                int alt17=2;
+                int LA17_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA17_0==28) ) {
+                    int LA17_1 = input.LA(2);
 
+                    if ( ((LA17_1>=12 && LA17_1<=14)||LA17_1==44) ) {
+                        alt17=1;
+                    }
+                    else if ( (LA17_1==11) ) {
+                        int LA17_3 = input.LA(3);
 
-            }
+                        if ( (LA17_3==28) ) {
+                            alt17=1;
+                        }
+
+
+                    }
+
+
+                }
+
+
+                switch (alt17) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4076:2: rule__AdaptationPlan__Group_1__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_1__0_in_rule__AdaptationPlan__Group__1__Impl8051);
+            	    rule__AdaptationPlan__Group_1__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop17;
+                }
+            } while (true);
 
-             after(grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10()); 
+             after(grammarAccess.getAdaptationPlanAccess().getGroup_1()); 
 
             }
 
@@ -28058,21 +10361,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__10__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group__1__Impl"
 
 
-    // $ANTLR start "rule__MetricValue__Group__11"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11098:1: rule__MetricValue__Group__11 : rule__MetricValue__Group__11__Impl ;
-    public final void rule__MetricValue__Group__11() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4086: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11102:1: ( rule__MetricValue__Group__11__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11103:2: rule__MetricValue__Group__11__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4090:1: ( rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4091:2: rule__AdaptationPlan__Group__2__Impl rule__AdaptationPlan__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__MetricValue__Group__11__Impl_in_rule__MetricValue__Group__1121931);
-            rule__MetricValue__Group__11__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__28082);
+            rule__AdaptationPlan__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__28085);
+            rule__AdaptationPlan__Group__3();
 
             state._fsp--;
 
@@ -28091,25 +10399,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__11"
+    // $ANTLR end "rule__AdaptationPlan__Group__2"
 
 
-    // $ANTLR start "rule__MetricValue__Group__11__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11109:1: rule__MetricValue__Group__11__Impl : ( '}' ) ;
-    public final void rule__MetricValue__Group__11__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4098: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11113:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11114:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4102:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4103:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11114:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11115:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4103:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4104:1: ','
             {
-             before(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__MetricValue__Group__11__Impl21959); 
-             after(grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11()); 
+             before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationPlan__Group__2__Impl8113); 
+             after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2()); 
 
             }
 
@@ -28128,26 +10436,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__Group__11__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group__2__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__0"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11155:1: rule__WeightedMetric__Group__0 : rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1 ;
-    public final void rule__WeightedMetric__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4117:1: rule__AdaptationPlan__Group__3 : rule__AdaptationPlan__Group__3__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11159:1: ( rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11160:2: rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4121:1: ( rule__AdaptationPlan__Group__3__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4122:2: rule__AdaptationPlan__Group__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__022017);
-            rule__WeightedMetric__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__022020);
-            rule__WeightedMetric__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__38144);
+            rule__AdaptationPlan__Group__3__Impl();
 
             state._fsp--;
 
@@ -28166,25 +10469,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__0"
+    // $ANTLR end "rule__AdaptationPlan__Group__3"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__0__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11167:1: rule__WeightedMetric__Group__0__Impl : ( 'WeightedMetric' ) ;
-    public final void rule__WeightedMetric__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4128:1: rule__AdaptationPlan__Group__3__Impl : ( ( rule__AdaptationPlan__StepsAssignment_3 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11171:1: ( ( 'WeightedMetric' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11172:1: ( 'WeightedMetric' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4132:1: ( ( ( rule__AdaptationPlan__StepsAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4133:1: ( ( rule__AdaptationPlan__StepsAssignment_3 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11172:1: ( 'WeightedMetric' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11173:1: 'WeightedMetric'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4133:1: ( ( rule__AdaptationPlan__StepsAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4134:1: ( rule__AdaptationPlan__StepsAssignment_3 )
             {
-             before(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); 
-            match(input,93,FollowSets000.FOLLOW_93_in_rule__WeightedMetric__Group__0__Impl22048); 
-             after(grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0()); 
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4135:1: ( rule__AdaptationPlan__StepsAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4135:2: rule__AdaptationPlan__StepsAssignment_3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_3_in_rule__AdaptationPlan__Group__3__Impl8171);
+            rule__AdaptationPlan__StepsAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3()); 
 
             }
 
@@ -28203,26 +10516,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__0__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group__3__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11186:1: rule__WeightedMetric__Group__1 : rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2 ;
-    public final void rule__WeightedMetric__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group_1__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4153:1: rule__AdaptationPlan__Group_1__0 : rule__AdaptationPlan__Group_1__0__Impl rule__AdaptationPlan__Group_1__1 ;
+    public final void rule__AdaptationPlan__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11190:1: ( rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11191:2: rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4157:1: ( rule__AdaptationPlan__Group_1__0__Impl rule__AdaptationPlan__Group_1__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4158:2: rule__AdaptationPlan__Group_1__0__Impl rule__AdaptationPlan__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__122079);
-            rule__WeightedMetric__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_1__0__Impl_in_rule__AdaptationPlan__Group_1__08209);
+            rule__AdaptationPlan__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__122082);
-            rule__WeightedMetric__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_1__1_in_rule__AdaptationPlan__Group_1__08212);
+            rule__AdaptationPlan__Group_1__1();
 
             state._fsp--;
 
@@ -28241,35 +10554,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__1"
+    // $ANTLR end "rule__AdaptationPlan__Group_1__0"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__1__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11198:1: rule__WeightedMetric__Group__1__Impl : ( ( rule__WeightedMetric__IdAssignment_1 ) ) ;
-    public final void rule__WeightedMetric__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group_1__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4165:1: rule__AdaptationPlan__Group_1__0__Impl : ( ',' ) ;
+    public final void rule__AdaptationPlan__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11202:1: ( ( ( rule__WeightedMetric__IdAssignment_1 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11203:1: ( ( rule__WeightedMetric__IdAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4169:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4170:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11203:1: ( ( rule__WeightedMetric__IdAssignment_1 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11204:1: ( rule__WeightedMetric__IdAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4170:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4171:1: ','
             {
-             before(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11205:1: ( rule__WeightedMetric__IdAssignment_1 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11205:2: rule__WeightedMetric__IdAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__IdAssignment_1_in_rule__WeightedMetric__Group__1__Impl22109);
-            rule__WeightedMetric__IdAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedMetricAccess().getIdAssignment_1()); 
+             before(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__AdaptationPlan__Group_1__0__Impl8240); 
+             after(grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0()); 
 
             }
 
@@ -28288,26 +10591,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__1__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group_1__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11215:1: rule__WeightedMetric__Group__2 : rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3 ;
-    public final void rule__WeightedMetric__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group_1__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4184:1: rule__AdaptationPlan__Group_1__1 : rule__AdaptationPlan__Group_1__1__Impl ;
+    public final void rule__AdaptationPlan__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11219:1: ( rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11220:2: rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4188:1: ( rule__AdaptationPlan__Group_1__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4189:2: rule__AdaptationPlan__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__222139);
-            rule__WeightedMetric__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__222142);
-            rule__WeightedMetric__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__Group_1__1__Impl_in_rule__AdaptationPlan__Group_1__18271);
+            rule__AdaptationPlan__Group_1__1__Impl();
 
             state._fsp--;
 
@@ -28326,25 +10624,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__2"
+    // $ANTLR end "rule__AdaptationPlan__Group_1__1"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__2__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11227:1: rule__WeightedMetric__Group__2__Impl : ( '{' ) ;
-    public final void rule__WeightedMetric__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__Group_1__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4195:1: rule__AdaptationPlan__Group_1__1__Impl : ( ( rule__AdaptationPlan__StepsAssignment_1_1 ) ) ;
+    public final void rule__AdaptationPlan__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11231:1: ( ( '{' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11232:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4199:1: ( ( ( rule__AdaptationPlan__StepsAssignment_1_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4200:1: ( ( rule__AdaptationPlan__StepsAssignment_1_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11232:1: ( '{' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11233:1: '{'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4200:1: ( ( rule__AdaptationPlan__StepsAssignment_1_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4201:1: ( rule__AdaptationPlan__StepsAssignment_1_1 )
             {
-             before(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,17,FollowSets001.FOLLOW_17_in_rule__WeightedMetric__Group__2__Impl22170); 
-             after(grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4202:1: ( rule__AdaptationPlan__StepsAssignment_1_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4202:2: rule__AdaptationPlan__StepsAssignment_1_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AdaptationPlan__StepsAssignment_1_1_in_rule__AdaptationPlan__Group_1__1__Impl8298);
+            rule__AdaptationPlan__StepsAssignment_1_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1()); 
 
             }
 
@@ -28363,26 +10671,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__2__Impl"
+    // $ANTLR end "rule__AdaptationPlan__Group_1__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11246:1: rule__WeightedMetric__Group__3 : rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4 ;
-    public final void rule__WeightedMetric__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__StartAction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4216: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11250:1: ( rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11251:2: rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4220:1: ( rule__StartAction__Group__0__Impl rule__StartAction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4221:2: rule__StartAction__Group__0__Impl rule__StartAction__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__322201);
-            rule__WeightedMetric__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__08332);
+            rule__StartAction__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__322204);
-            rule__WeightedMetric__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__08335);
+            rule__StartAction__Group__1();
 
             state._fsp--;
 
@@ -28401,25 +10709,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__3"
+    // $ANTLR end "rule__StartAction__Group__0"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__3__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11258:1: rule__WeightedMetric__Group__3__Impl : ( 'name' ) ;
-    public final void rule__WeightedMetric__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__StartAction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4228: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11262:1: ( ( 'name' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11263:1: ( 'name' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4232:1: ( ( () ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4233:1: ( () )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11263:1: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11264:1: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4233:1: ( () )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4234:1: ()
+            {
+             before(grammarAccess.getStartActionAccess().getStartActionAction_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4235:1: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4237:1: 
             {
-             before(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); 
-            match(input,18,FollowSets001.FOLLOW_18_in_rule__WeightedMetric__Group__3__Impl22232); 
-             after(grammarAccess.getWeightedMetricAccess().getNameKeyword_3()); 
+            }
+
+             after(grammarAccess.getStartActionAccess().getStartActionAction_0()); 
 
             }
 
@@ -28427,10 +10739,6 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
             }
 
         }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
         finally {
 
             	restoreStackSize(stackSize);
@@ -28438,26 +10746,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__3__Impl"
+    // $ANTLR end "rule__StartAction__Group__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11277:1: rule__WeightedMetric__Group__4 : rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5 ;
-    public final void rule__WeightedMetric__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__StartAction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4247:1: rule__StartAction__Group__1 : rule__StartAction__Group__1__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11281:1: ( rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11282:2: rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4251:1: ( rule__StartAction__Group__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4252:2: rule__StartAction__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__422263);
-            rule__WeightedMetric__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__422266);
-            rule__WeightedMetric__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__18393);
+            rule__StartAction__Group__1__Impl();
 
             state._fsp--;
 
@@ -28476,35 +10779,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__4"
+    // $ANTLR end "rule__StartAction__Group__1"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__4__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11289:1: rule__WeightedMetric__Group__4__Impl : ( ( rule__WeightedMetric__NameAssignment_4 ) ) ;
-    public final void rule__WeightedMetric__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__StartAction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4258: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11293:1: ( ( ( rule__WeightedMetric__NameAssignment_4 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11294:1: ( ( rule__WeightedMetric__NameAssignment_4 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11294:1: ( ( rule__WeightedMetric__NameAssignment_4 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11295:1: ( rule__WeightedMetric__NameAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4262:1: ( ( 'StartAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4263:1: ( 'StartAction' )
             {
-             before(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11296:1: ( rule__WeightedMetric__NameAssignment_4 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11296:2: rule__WeightedMetric__NameAssignment_4
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4263:1: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4264:1: 'StartAction'
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__NameAssignment_4_in_rule__WeightedMetric__Group__4__Impl22293);
-            rule__WeightedMetric__NameAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedMetricAccess().getNameAssignment_4()); 
+             before(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); 
+            match(input,44,FollowSets000.FOLLOW_44_in_rule__StartAction__Group__1__Impl8421); 
+             after(grammarAccess.getStartActionAccess().getStartActionKeyword_1()); 
 
             }
 
@@ -28523,26 +10816,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__4__Impl"
+    // $ANTLR end "rule__StartAction__Group__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11306:1: rule__WeightedMetric__Group__5 : rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6 ;
-    public final void rule__WeightedMetric__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4282: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11310:1: ( rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11311:2: rule__WeightedMetric__Group__5__Impl rule__WeightedMetric__Group__6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4286:1: ( rule__EDouble__Group__0__Impl rule__EDouble__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4287:2: rule__EDouble__Group__0__Impl rule__EDouble__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__522323);
-            rule__WeightedMetric__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__08457);
+            rule__EDouble__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__6_in_rule__WeightedMetric__Group__522326);
-            rule__WeightedMetric__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__08460);
+            rule__EDouble__Group__1();
 
             state._fsp--;
 
@@ -28561,25 +10854,42 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__5"
+    // $ANTLR end "rule__EDouble__Group__0"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__5__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11318:1: rule__WeightedMetric__Group__5__Impl : ( 'weight' ) ;
-    public final void rule__WeightedMetric__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4294: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11322:1: ( ( 'weight' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11323:1: ( 'weight' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4298:1: ( ( ( '-' )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4299:1: ( ( '-' )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11323:1: ( 'weight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11324:1: 'weight'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4299:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4300:1: ( '-' )?
             {
-             before(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); 
-            match(input,94,FollowSets001.FOLLOW_94_in_rule__WeightedMetric__Group__5__Impl22354); 
-             after(grammarAccess.getWeightedMetricAccess().getWeightKeyword_5()); 
+             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4301:1: ( '-' )?
+            int alt18=2;
+            int LA18_0 = input.LA(1);
+
+            if ( (LA18_0==45) ) {
+                alt18=1;
+            }
+            switch (alt18) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4302:2: '-'
+                    {
+                    match(input,45,FollowSets000.FOLLOW_45_in_rule__EDouble__Group__0__Impl8489); 
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
 
             }
 
@@ -28598,26 +10908,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__5__Impl"
+    // $ANTLR end "rule__EDouble__Group__0__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11337:1: rule__WeightedMetric__Group__6 : rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7 ;
-    public final void rule__WeightedMetric__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4313: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11341:1: ( rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11342:2: rule__WeightedMetric__Group__6__Impl rule__WeightedMetric__Group__7
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4317:1: ( rule__EDouble__Group__1__Impl rule__EDouble__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4318:2: rule__EDouble__Group__1__Impl rule__EDouble__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__6__Impl_in_rule__WeightedMetric__Group__622385);
-            rule__WeightedMetric__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__18522);
+            rule__EDouble__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__7_in_rule__WeightedMetric__Group__622388);
-            rule__WeightedMetric__Group__7();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__18525);
+            rule__EDouble__Group__2();
 
             state._fsp--;
 
@@ -28636,35 +10946,42 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__6"
+    // $ANTLR end "rule__EDouble__Group__1"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__6__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11349:1: rule__WeightedMetric__Group__6__Impl : ( ( rule__WeightedMetric__WeightAssignment_6 ) ) ;
-    public final void rule__WeightedMetric__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4325: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11353:1: ( ( ( rule__WeightedMetric__WeightAssignment_6 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11354:1: ( ( rule__WeightedMetric__WeightAssignment_6 ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11354:1: ( ( rule__WeightedMetric__WeightAssignment_6 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11355:1: ( rule__WeightedMetric__WeightAssignment_6 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4329:1: ( ( ( RULE_INT )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4330:1: ( ( RULE_INT )? )
             {
-             before(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11356:1: ( rule__WeightedMetric__WeightAssignment_6 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11356:2: rule__WeightedMetric__WeightAssignment_6
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4330:1: ( ( RULE_INT )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4331:1: ( RULE_INT )?
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__WeightAssignment_6_in_rule__WeightedMetric__Group__6__Impl22415);
-            rule__WeightedMetric__WeightAssignment_6();
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4332:1: ( RULE_INT )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-            state._fsp--;
+            if ( (LA19_0==RULE_INT) ) {
+                alt19=1;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4332:3: RULE_INT
+                    {
+                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl8553); 
 
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getWeightedMetricAccess().getWeightAssignment_6()); 
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
 
             }
 
@@ -28683,26 +11000,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__6__Impl"
+    // $ANTLR end "rule__EDouble__Group__1__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11366:1: rule__WeightedMetric__Group__7 : rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8 ;
-    public final void rule__WeightedMetric__Group__7() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4342: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11370:1: ( rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11371:2: rule__WeightedMetric__Group__7__Impl rule__WeightedMetric__Group__8
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4346:1: ( rule__EDouble__Group__2__Impl rule__EDouble__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4347:2: rule__EDouble__Group__2__Impl rule__EDouble__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__7__Impl_in_rule__WeightedMetric__Group__722445);
-            rule__WeightedMetric__Group__7__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__28584);
+            rule__EDouble__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__8_in_rule__WeightedMetric__Group__722448);
-            rule__WeightedMetric__Group__8();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__28587);
+            rule__EDouble__Group__3();
 
             state._fsp--;
 
@@ -28721,25 +11038,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__7"
+    // $ANTLR end "rule__EDouble__Group__2"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__7__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11378:1: rule__WeightedMetric__Group__7__Impl : ( 'metricType' ) ;
-    public final void rule__WeightedMetric__Group__7__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4354: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11382:1: ( ( 'metricType' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11383:1: ( 'metricType' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4358:1: ( ( '.' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4359:1: ( '.' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11383:1: ( 'metricType' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11384:1: 'metricType'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4359:1: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4360:1: '.'
             {
-             before(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); 
-            match(input,92,FollowSets001.FOLLOW_92_in_rule__WeightedMetric__Group__7__Impl22476); 
-             after(grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7()); 
+             before(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
+            match(input,46,FollowSets000.FOLLOW_46_in_rule__EDouble__Group__2__Impl8615); 
+             after(grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
 
             }
 
@@ -28758,26 +11075,26 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__7__Impl"
+    // $ANTLR end "rule__EDouble__Group__2__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11397:1: rule__WeightedMetric__Group__8 : rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9 ;
-    public final void rule__WeightedMetric__Group__8() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4373: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11401:1: ( rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11402:2: rule__WeightedMetric__Group__8__Impl rule__WeightedMetric__Group__9
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4377:1: ( rule__EDouble__Group__3__Impl rule__EDouble__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4378:2: rule__EDouble__Group__3__Impl rule__EDouble__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__8__Impl_in_rule__WeightedMetric__Group__822507);
-            rule__WeightedMetric__Group__8__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__38646);
+            rule__EDouble__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__9_in_rule__WeightedMetric__Group__822510);
-            rule__WeightedMetric__Group__9();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__38649);
+            rule__EDouble__Group__4();
 
             state._fsp--;
 
@@ -28796,35 +11113,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__8"
+    // $ANTLR end "rule__EDouble__Group__3"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__8__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11409:1: rule__WeightedMetric__Group__8__Impl : ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) ) ;
-    public final void rule__WeightedMetric__Group__8__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4385: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11413:1: ( ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11414:1: ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4389:1: ( ( RULE_INT ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4390:1: ( RULE_INT )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11414:1: ( ( rule__WeightedMetric__MetricTypeAssignment_8 ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11415:1: ( rule__WeightedMetric__MetricTypeAssignment_8 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4390:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4391:1: RULE_INT
             {
-             before(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11416:1: ( rule__WeightedMetric__MetricTypeAssignment_8 )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11416:2: rule__WeightedMetric__MetricTypeAssignment_8
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__MetricTypeAssignment_8_in_rule__WeightedMetric__Group__8__Impl22537);
-            rule__WeightedMetric__MetricTypeAssignment_8();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8()); 
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl8676); 
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
 
             }
 
@@ -28843,21 +11150,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__8__Impl"
+    // $ANTLR end "rule__EDouble__Group__3__Impl"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__9"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11426:1: rule__WeightedMetric__Group__9 : rule__WeightedMetric__Group__9__Impl ;
-    public final void rule__WeightedMetric__Group__9() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4402: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11430:1: ( rule__WeightedMetric__Group__9__Impl )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11431:2: rule__WeightedMetric__Group__9__Impl
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4406:1: ( rule__EDouble__Group__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4407:2: rule__EDouble__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__WeightedMetric__Group__9__Impl_in_rule__WeightedMetric__Group__922567);
-            rule__WeightedMetric__Group__9__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__48705);
+            rule__EDouble__Group__4__Impl();
 
             state._fsp--;
 
@@ -28876,25 +11183,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__9"
+    // $ANTLR end "rule__EDouble__Group__4"
 
 
-    // $ANTLR start "rule__WeightedMetric__Group__9__Impl"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11437:1: rule__WeightedMetric__Group__9__Impl : ( '}' ) ;
-    public final void rule__WeightedMetric__Group__9__Impl() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4413: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11441:1: ( ( '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11442:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4417:1: ( ( ( rule__EDouble__Group_4__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4418:1: ( ( rule__EDouble__Group_4__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11442:1: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11443:1: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4418:1: ( ( rule__EDouble__Group_4__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4419:1: ( rule__EDouble__Group_4__0 )?
             {
-             before(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,20,FollowSets001.FOLLOW_20_in_rule__WeightedMetric__Group__9__Impl22595); 
-             after(grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9()); 
+             before(grammarAccess.getEDoubleAccess().getGroup_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4420:1: ( rule__EDouble__Group_4__0 )?
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+
+            if ( ((LA20_0>=18 && LA20_0<=19)) ) {
+                alt20=1;
+            }
+            switch (alt20) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4420:2: rule__EDouble__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl8732);
+                    rule__EDouble__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getGroup_4()); 
 
             }
 
@@ -28913,31 +11241,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__Group__9__Impl"
+    // $ANTLR end "rule__EDouble__Group__4__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11477:1: rule__AdaptationProcess__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__AdaptationProcess__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4440: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11481:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11482:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11482:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11483:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4444: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4445:2: rule__EDouble__Group_4__0__Impl rule__EDouble__Group_4__1
             {
-             before(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationProcess__IdAssignment_122651);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__08773);
+            rule__EDouble__Group_4__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__08776);
+            rule__EDouble__Group_4__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -28954,29 +11279,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__IdAssignment_1"
+    // $ANTLR end "rule__EDouble__Group_4__0"
 
 
-    // $ANTLR start "rule__AdaptationProcess__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11492:1: rule__AdaptationProcess__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__AdaptationProcess__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4452: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11496:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11497:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4456:1: ( ( ( rule__EDouble__Alternatives_4_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4457:1: ( ( rule__EDouble__Alternatives_4_0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11497:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11498:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4457:1: ( ( rule__EDouble__Alternatives_4_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4458:1: ( rule__EDouble__Alternatives_4_0 )
             {
-             before(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_422682);
-            ruleEString();
+             before(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4459:1: ( rule__EDouble__Alternatives_4_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4459:2: rule__EDouble__Alternatives_4_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl8803);
+            rule__EDouble__Alternatives_4_0();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+             after(grammarAccess.getEDoubleAccess().getAlternatives_4_0()); 
 
             }
 
@@ -28995,31 +11326,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__NameAssignment_4"
+    // $ANTLR end "rule__EDouble__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11507:1: rule__AdaptationProcess__TacticsAssignment_7 : ( ruleTactic ) ;
-    public final void rule__AdaptationProcess__TacticsAssignment_7() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4469: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11511:1: ( ( ruleTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11512:1: ( ruleTactic )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11512:1: ( ruleTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11513:1: ruleTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4473: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4474:2: rule__EDouble__Group_4__1__Impl rule__EDouble__Group_4__2
             {
-             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_722713);
-            ruleTactic();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__18833);
+            rule__EDouble__Group_4__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__18836);
+            rule__EDouble__Group_4__2();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29036,29 +11364,42 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_7"
+    // $ANTLR end "rule__EDouble__Group_4__1"
 
 
-    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_8_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11522:1: rule__AdaptationProcess__TacticsAssignment_8_1 : ( ruleTactic ) ;
-    public final void rule__AdaptationProcess__TacticsAssignment_8_1() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4481: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11526:1: ( ( ruleTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11527:1: ( ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4485:1: ( ( ( '-' )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4486:1: ( ( '-' )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11527:1: ( ruleTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11528:1: ruleTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4486:1: ( ( '-' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4487:1: ( '-' )?
             {
-             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_8_122744);
-            ruleTactic();
+             before(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4488:1: ( '-' )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            state._fsp--;
+            if ( (LA21_0==45) ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4489:2: '-'
+                    {
+                    match(input,45,FollowSets000.FOLLOW_45_in_rule__EDouble__Group_4__1__Impl8865); 
+
+                    }
+                    break;
+
+            }
 
-             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+             after(grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
 
             }
 
@@ -29077,32 +11418,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_8_1"
+    // $ANTLR end "rule__EDouble__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_12"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11537:1: rule__AdaptationProcess__ActionsAssignment_12 : ( ruleAction ) ;
-    public final void rule__AdaptationProcess__ActionsAssignment_12() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4500: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11541:1: ( ( ruleAction ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11542:1: ( ruleAction )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11542:1: ( ruleAction )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11543:1: ruleAction
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4504:1: ( rule__EDouble__Group_4__2__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4505:2: rule__EDouble__Group_4__2__Impl
             {
-             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_1222775);
-            ruleAction();
+            pushFollow(FollowSets000.FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__28898);
+            rule__EDouble__Group_4__2__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
-
-            }
-
 
             }
 
@@ -29118,29 +11451,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_12"
+    // $ANTLR end "rule__EDouble__Group_4__2"
 
 
-    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_13_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11552:1: rule__AdaptationProcess__ActionsAssignment_13_1 : ( ruleAction ) ;
-    public final void rule__AdaptationProcess__ActionsAssignment_13_1() throws RecognitionException {
+    // $ANTLR start "rule__EDouble__Group_4__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4511: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11556:1: ( ( ruleAction ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11557:1: ( ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4515:1: ( ( RULE_INT ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4516:1: ( RULE_INT )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11557:1: ( ruleAction )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11558:1: ruleAction
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4516:1: ( RULE_INT )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4517:1: RULE_INT
             {
-             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_13_122806);
-            ruleAction();
-
-            state._fsp--;
-
-             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+             before(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl8925); 
+             after(grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
 
             }
 
@@ -29159,31 +11488,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_13_1"
+    // $ANTLR end "rule__EDouble__Group_4__2__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_17"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11567:1: rule__AdaptationProcess__StrategiesAssignment_17 : ( ruleStrategy ) ;
-    public final void rule__AdaptationProcess__StrategiesAssignment_17() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4534: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11571:1: ( ( ruleStrategy ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11572:1: ( ruleStrategy )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11572:1: ( ruleStrategy )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11573:1: ruleStrategy
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4538:1: ( rule__Objective__Group__0__Impl rule__Objective__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4539:2: rule__Objective__Group__0__Impl rule__Objective__Group__1
             {
-             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1722837);
-            ruleStrategy();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__08960);
+            rule__Objective__Group__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__08963);
+            rule__Objective__Group__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29200,29 +11526,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_17"
+    // $ANTLR end "rule__Objective__Group__0"
 
 
-    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_18_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11582:1: rule__AdaptationProcess__StrategiesAssignment_18_1 : ( ruleStrategy ) ;
-    public final void rule__AdaptationProcess__StrategiesAssignment_18_1() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4546: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11586:1: ( ( ruleStrategy ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11587:1: ( ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4550:1: ( ( 'Objective' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4551:1: ( 'Objective' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11587:1: ( ruleStrategy )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11588:1: ruleStrategy
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4551:1: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4552:1: 'Objective'
             {
-             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_18_122868);
-            ruleStrategy();
-
-            state._fsp--;
-
-             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+             before(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
+            match(input,47,FollowSets000.FOLLOW_47_in_rule__Objective__Group__0__Impl8991); 
+             after(grammarAccess.getObjectiveAccess().getObjectiveKeyword_0()); 
 
             }
 
@@ -29241,31 +11563,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_18_1"
+    // $ANTLR end "rule__Objective__Group__0__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_20_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11597:1: rule__AdaptationProcess__ParametersAssignment_20_2 : ( ruleParameter ) ;
-    public final void rule__AdaptationProcess__ParametersAssignment_20_2() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4565: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11601:1: ( ( ruleParameter ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11602:1: ( ruleParameter )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11602:1: ( ruleParameter )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11603:1: ruleParameter
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4569:1: ( rule__Objective__Group__1__Impl rule__Objective__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4570:2: rule__Objective__Group__1__Impl rule__Objective__Group__2
             {
-             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_222899);
-            ruleParameter();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__19022);
+            rule__Objective__Group__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__19025);
+            rule__Objective__Group__2();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29282,29 +11601,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_20_2"
+    // $ANTLR end "rule__Objective__Group__1"
 
 
-    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_20_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11612:1: rule__AdaptationProcess__ParametersAssignment_20_3_1 : ( ruleParameter ) ;
-    public final void rule__AdaptationProcess__ParametersAssignment_20_3_1() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4577:1: rule__Objective__Group__1__Impl : ( ( rule__Objective__NameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11616:1: ( ( ruleParameter ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11617:1: ( ruleParameter )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4581:1: ( ( ( rule__Objective__NameAssignment_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4582:1: ( ( rule__Objective__NameAssignment_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11617:1: ( ruleParameter )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11618:1: ruleParameter
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4582:1: ( ( rule__Objective__NameAssignment_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4583:1: ( rule__Objective__NameAssignment_1 )
             {
-             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_3_122930);
-            ruleParameter();
+             before(grammarAccess.getObjectiveAccess().getNameAssignment_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4584:1: ( rule__Objective__NameAssignment_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4584:2: rule__Objective__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__NameAssignment_1_in_rule__Objective__Group__1__Impl9052);
+            rule__Objective__NameAssignment_1();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+
+            }
+
+             after(grammarAccess.getObjectiveAccess().getNameAssignment_1()); 
 
             }
 
@@ -29323,31 +11648,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_20_3_1"
+    // $ANTLR end "rule__Objective__Group__1__Impl"
 
 
-    // $ANTLR start "rule__AdaptationProcess__GoalAssignment_22"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11627:1: rule__AdaptationProcess__GoalAssignment_22 : ( ruleOverallGoal ) ;
-    public final void rule__AdaptationProcess__GoalAssignment_22() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4594: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11631:1: ( ( ruleOverallGoal ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11632:1: ( ruleOverallGoal )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4598:1: ( rule__Objective__Group__2__Impl rule__Objective__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4599:2: rule__Objective__Group__2__Impl rule__Objective__Group__3
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11632:1: ( ruleOverallGoal )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11633:1: ruleOverallGoal
-            {
-             before(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_2222961);
-            ruleOverallGoal();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__29082);
+            rule__Objective__Group__2__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__29085);
+            rule__Objective__Group__3();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29364,29 +11686,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationProcess__GoalAssignment_22"
+    // $ANTLR end "rule__Objective__Group__2"
 
 
-    // $ANTLR start "rule__Tactic__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11642:1: rule__Tactic__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__Tactic__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4606: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11646:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11647:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4610:1: ( ( '=' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4611:1: ( '=' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11647:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11648:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4611:1: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4612:1: '='
             {
-             before(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__IdAssignment_122992);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+             before(grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__Objective__Group__2__Impl9113); 
+             after(grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2()); 
 
             }
 
@@ -29405,32 +11723,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__IdAssignment_1"
+    // $ANTLR end "rule__Objective__Group__2__Impl"
 
 
-    // $ANTLR start "rule__Tactic__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11657:1: rule__Tactic__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__Tactic__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4625:1: rule__Objective__Group__3 : rule__Objective__Group__3__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11661:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11662:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4629:1: ( rule__Objective__Group__3__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4630:2: rule__Objective__Group__3__Impl
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11662:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11663:1: ruleEString
-            {
-             before(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_423023);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__39144);
+            rule__Objective__Group__3__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
-
-            }
-
 
             }
 
@@ -29446,37 +11756,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__NameAssignment_4"
+    // $ANTLR end "rule__Objective__Group__3"
 
 
-    // $ANTLR start "rule__Tactic__InputParamsAssignment_5_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11672:1: rule__Tactic__InputParamsAssignment_5_2 : ( ( ruleEString ) ) ;
-    public final void rule__Tactic__InputParamsAssignment_5_2() throws RecognitionException {
+    // $ANTLR start "rule__Objective__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4636:1: rule__Objective__Group__3__Impl : ( ( rule__Objective__SpecificationAssignment_3 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11676:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11677:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4640:1: ( ( ( rule__Objective__SpecificationAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4641:1: ( ( rule__Objective__SpecificationAssignment_3 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11677:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11678:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4641:1: ( ( rule__Objective__SpecificationAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4642:1: ( rule__Objective__SpecificationAssignment_3 )
             {
-             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11679:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11680:1: ruleEString
+             before(grammarAccess.getObjectiveAccess().getSpecificationAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4643:1: ( rule__Objective__SpecificationAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4643:2: rule__Objective__SpecificationAssignment_3
             {
-             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_223058);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__Objective__SpecificationAssignment_3_in_rule__Objective__Group__3__Impl9171);
+            rule__Objective__SpecificationAssignment_3();
 
             state._fsp--;
 
-             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_2_0_1()); 
 
             }
 
-             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+             after(grammarAccess.getObjectiveAccess().getSpecificationAssignment_3()); 
 
             }
 
@@ -29495,39 +11803,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__InputParamsAssignment_5_2"
+    // $ANTLR end "rule__Objective__Group__3__Impl"
 
 
-    // $ANTLR start "rule__Tactic__InputParamsAssignment_5_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11691:1: rule__Tactic__InputParamsAssignment_5_3_1 : ( ( ruleEString ) ) ;
-    public final void rule__Tactic__InputParamsAssignment_5_3_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4661: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11695:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11696:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11696:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11697:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4665:1: ( rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4666:2: rule__WeightedTactic__Group__0__Impl rule__WeightedTactic__Group__1
             {
-             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11698:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11699:1: ruleEString
-            {
-             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_3_123097);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__09209);
+            rule__WeightedTactic__Group__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_5_3_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__09212);
+            rule__WeightedTactic__Group__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29544,40 +11841,76 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__InputParamsAssignment_5_3_1"
+    // $ANTLR end "rule__WeightedTactic__Group__0"
 
 
-    // $ANTLR start "rule__Tactic__OutputParamAssignment_6_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11710:1: rule__Tactic__OutputParamAssignment_6_1 : ( ( ruleEString ) ) ;
-    public final void rule__Tactic__OutputParamAssignment_6_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4673:1: rule__WeightedTactic__Group__0__Impl : ( ( rule__WeightedTactic__NameAssignment_0 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11714:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11715:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4677:1: ( ( ( rule__WeightedTactic__NameAssignment_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4678:1: ( ( rule__WeightedTactic__NameAssignment_0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11715:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11716:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4678:1: ( ( rule__WeightedTactic__NameAssignment_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4679:1: ( rule__WeightedTactic__NameAssignment_0 )
             {
-             before(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11717:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11718:1: ruleEString
+             before(grammarAccess.getWeightedTacticAccess().getNameAssignment_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4680:1: ( rule__WeightedTactic__NameAssignment_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4680:2: rule__WeightedTactic__NameAssignment_0
             {
-             before(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_6_123136);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__NameAssignment_0_in_rule__WeightedTactic__Group__0__Impl9239);
+            rule__WeightedTactic__NameAssignment_0();
 
             state._fsp--;
 
-             after(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_6_1_0_1()); 
 
             }
 
-             after(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getNameAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4690: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4694:1: ( rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4695:2: rule__WeightedTactic__Group__1__Impl rule__WeightedTactic__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__19269);
+            rule__WeightedTactic__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__19272);
+            rule__WeightedTactic__Group__2();
+
+            state._fsp--;
+
 
             }
 
@@ -29593,29 +11926,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__OutputParamAssignment_6_1"
+    // $ANTLR end "rule__WeightedTactic__Group__1"
 
 
-    // $ANTLR start "rule__Tactic__ImplementedPlanAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11729:1: rule__Tactic__ImplementedPlanAssignment_8 : ( ruleAdaptationPlan ) ;
-    public final void rule__Tactic__ImplementedPlanAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4702:1: rule__WeightedTactic__Group__1__Impl : ( '=' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11733:1: ( ( ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11734:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4706:1: ( ( '=' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4707:1: ( '=' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11734:1: ( ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11735:1: ruleAdaptationPlan
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4707:1: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4708:1: '='
             {
-             before(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_823171);
-            ruleAdaptationPlan();
-
-            state._fsp--;
-
-             after(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+             before(grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__WeightedTactic__Group__1__Impl9300); 
+             after(grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1()); 
 
             }
 
@@ -29634,31 +11963,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Tactic__ImplementedPlanAssignment_8"
+    // $ANTLR end "rule__WeightedTactic__Group__1__Impl"
 
 
-    // $ANTLR start "rule__Action__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11744:1: rule__Action__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__Action__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4721: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11748:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11749:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4725:1: ( rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4726:2: rule__WeightedTactic__Group__2__Impl rule__WeightedTactic__Group__3
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11749:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11750:1: ruleEString
-            {
-             before(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__IdAssignment_123202);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__29331);
+            rule__WeightedTactic__Group__2__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__29334);
+            rule__WeightedTactic__Group__3();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29675,29 +12001,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__IdAssignment_1"
+    // $ANTLR end "rule__WeightedTactic__Group__2"
 
 
-    // $ANTLR start "rule__Action__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11759:1: rule__Action__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__Action__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4733:1: rule__WeightedTactic__Group__2__Impl : ( ( rule__WeightedTactic__UsedTacticAssignment_2 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11763:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11764:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4737:1: ( ( ( rule__WeightedTactic__UsedTacticAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4738:1: ( ( rule__WeightedTactic__UsedTacticAssignment_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11764:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11765:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4738:1: ( ( rule__WeightedTactic__UsedTacticAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4739:1: ( rule__WeightedTactic__UsedTacticAssignment_2 )
             {
-             before(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__NameAssignment_423233);
-            ruleEString();
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4740:1: ( rule__WeightedTactic__UsedTacticAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4740:2: rule__WeightedTactic__UsedTacticAssignment_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__UsedTacticAssignment_2_in_rule__WeightedTactic__Group__2__Impl9361);
+            rule__WeightedTactic__UsedTacticAssignment_2();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2()); 
 
             }
 
@@ -29716,39 +12048,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__NameAssignment_4"
+    // $ANTLR end "rule__WeightedTactic__Group__2__Impl"
 
 
-    // $ANTLR start "rule__Action__OutputParamAssignment_5_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11774:1: rule__Action__OutputParamAssignment_5_1 : ( ( ruleEString ) ) ;
-    public final void rule__Action__OutputParamAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4750: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11778:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11779:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11779:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11780:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4754:1: ( rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4755:2: rule__WeightedTactic__Group__3__Impl rule__WeightedTactic__Group__4
             {
-             before(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11781:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11782:1: ruleEString
-            {
-             before(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_5_123268);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__39391);
+            rule__WeightedTactic__Group__3__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_5_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__39394);
+            rule__WeightedTactic__Group__4();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29765,37 +12086,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__OutputParamAssignment_5_1"
+    // $ANTLR end "rule__WeightedTactic__Group__3"
 
 
-    // $ANTLR start "rule__Action__InputParamsAssignment_6_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11793:1: rule__Action__InputParamsAssignment_6_2 : ( ( ruleEString ) ) ;
-    public final void rule__Action__InputParamsAssignment_6_2() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4762:1: rule__WeightedTactic__Group__3__Impl : ( ( rule__WeightedTactic__CurrentWeightAssignment_3 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11797:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11798:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4766:1: ( ( ( rule__WeightedTactic__CurrentWeightAssignment_3 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4767:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_3 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11798:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11799:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4767:1: ( ( rule__WeightedTactic__CurrentWeightAssignment_3 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4768:1: ( rule__WeightedTactic__CurrentWeightAssignment_3 )
             {
-             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11800:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11801:1: ruleEString
+             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4769:1: ( rule__WeightedTactic__CurrentWeightAssignment_3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4769:2: rule__WeightedTactic__CurrentWeightAssignment_3
             {
-             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_223307);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_3_in_rule__WeightedTactic__Group__3__Impl9421);
+            rule__WeightedTactic__CurrentWeightAssignment_3();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_2_0_1()); 
 
             }
 
-             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3()); 
 
             }
 
@@ -29814,39 +12133,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__InputParamsAssignment_6_2"
+    // $ANTLR end "rule__WeightedTactic__Group__3__Impl"
 
 
-    // $ANTLR start "rule__Action__InputParamsAssignment_6_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11812:1: rule__Action__InputParamsAssignment_6_3_1 : ( ( ruleEString ) ) ;
-    public final void rule__Action__InputParamsAssignment_6_3_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4779: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11816:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11817:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11817:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11818:1: ( ruleEString )
-            {
-             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11819:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11820:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4783:1: ( rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4784:2: rule__WeightedTactic__Group__4__Impl rule__WeightedTactic__Group__5
             {
-             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_3_123346);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__49451);
+            rule__WeightedTactic__Group__4__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_6_3_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__49454);
+            rule__WeightedTactic__Group__5();
 
-            }
+            state._fsp--;
 
 
             }
@@ -29863,37 +12171,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__InputParamsAssignment_6_3_1"
+    // $ANTLR end "rule__WeightedTactic__Group__4"
 
 
-    // $ANTLR start "rule__Action__ReferredAdaptationPointAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11831:1: rule__Action__ReferredAdaptationPointAssignment_8 : ( ( ruleEString ) ) ;
-    public final void rule__Action__ReferredAdaptationPointAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4791:1: rule__WeightedTactic__Group__4__Impl : ( ( rule__WeightedTactic__DefaultWeightAssignment_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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11835:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11836:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4795:1: ( ( ( rule__WeightedTactic__DefaultWeightAssignment_4 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4796:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_4 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11836:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11837:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4796:1: ( ( rule__WeightedTactic__DefaultWeightAssignment_4 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4797:1: ( rule__WeightedTactic__DefaultWeightAssignment_4 )
             {
-             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11838:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11839:1: ruleEString
+             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4798:1: ( rule__WeightedTactic__DefaultWeightAssignment_4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4798:2: rule__WeightedTactic__DefaultWeightAssignment_4
             {
-             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_823385);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_4_in_rule__WeightedTactic__Group__4__Impl9481);
+            rule__WeightedTactic__DefaultWeightAssignment_4();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1()); 
 
             }
 
-             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4()); 
 
             }
 
@@ -29912,32 +12218,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__ReferredAdaptationPointAssignment_8"
+    // $ANTLR end "rule__WeightedTactic__Group__4__Impl"
 
 
-    // $ANTLR start "rule__Action__AdaptationActionOperationAssignment_10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11850:1: rule__Action__AdaptationActionOperationAssignment_10 : ( ruleAdaptationActionOperation ) ;
-    public final void rule__Action__AdaptationActionOperationAssignment_10() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4808:1: rule__WeightedTactic__Group__5 : rule__WeightedTactic__Group__5__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11854:1: ( ( ruleAdaptationActionOperation ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11855:1: ( ruleAdaptationActionOperation )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11855:1: ( ruleAdaptationActionOperation )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11856:1: ruleAdaptationActionOperation
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4812:1: ( rule__WeightedTactic__Group__5__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4813:2: rule__WeightedTactic__Group__5__Impl
             {
-             before(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1023420);
-            ruleAdaptationActionOperation();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__59511);
+            rule__WeightedTactic__Group__5__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
-
-            }
-
 
             }
 
@@ -29953,29 +12251,46 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Action__AdaptationActionOperationAssignment_10"
+    // $ANTLR end "rule__WeightedTactic__Group__5"
 
 
-    // $ANTLR start "rule__Strategy__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11865:1: rule__Strategy__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__Strategy__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4819:1: rule__WeightedTactic__Group__5__Impl : ( ( rule__WeightedTactic__Group_5__0 )? ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11869:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11870:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4823:1: ( ( ( rule__WeightedTactic__Group_5__0 )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4824:1: ( ( rule__WeightedTactic__Group_5__0 )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11870:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11871:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4824:1: ( ( rule__WeightedTactic__Group_5__0 )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4825:1: ( rule__WeightedTactic__Group_5__0 )?
             {
-             before(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__IdAssignment_123451);
-            ruleEString();
+             before(grammarAccess.getWeightedTacticAccess().getGroup_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4826:1: ( rule__WeightedTactic__Group_5__0 )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
-            state._fsp--;
+            if ( (LA22_0==48) ) {
+                alt22=1;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4826:2: rule__WeightedTactic__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_5__0_in_rule__WeightedTactic__Group__5__Impl9538);
+                    rule__WeightedTactic__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
 
-             after(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getGroup_5()); 
 
             }
 
@@ -29994,31 +12309,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__IdAssignment_1"
+    // $ANTLR end "rule__WeightedTactic__Group__5__Impl"
 
 
-    // $ANTLR start "rule__Strategy__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11880:1: rule__Strategy__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__Strategy__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group_5__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4848:1: rule__WeightedTactic__Group_5__0 : rule__WeightedTactic__Group_5__0__Impl rule__WeightedTactic__Group_5__1 ;
+    public final void rule__WeightedTactic__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11884:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11885:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11885:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11886:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4852:1: ( rule__WeightedTactic__Group_5__0__Impl rule__WeightedTactic__Group_5__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4853:2: rule__WeightedTactic__Group_5__0__Impl rule__WeightedTactic__Group_5__1
             {
-             before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_423482);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_5__0__Impl_in_rule__WeightedTactic__Group_5__09581);
+            rule__WeightedTactic__Group_5__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_5__1_in_rule__WeightedTactic__Group_5__09584);
+            rule__WeightedTactic__Group_5__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30035,37 +12347,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__NameAssignment_4"
+    // $ANTLR end "rule__WeightedTactic__Group_5__0"
 
 
-    // $ANTLR start "rule__Strategy__ObjectiveAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11895:1: rule__Strategy__ObjectiveAssignment_6 : ( ( ruleEString ) ) ;
-    public final void rule__Strategy__ObjectiveAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group_5__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4860:1: rule__WeightedTactic__Group_5__0__Impl : ( 'lastImpact' ) ;
+    public final void rule__WeightedTactic__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11899:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11900:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11900:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11901:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4864:1: ( ( 'lastImpact' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4865:1: ( 'lastImpact' )
             {
-             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11902:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11903:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4865:1: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4866:1: 'lastImpact'
             {
-             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_623517);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_6_0_1()); 
-
-            }
-
-             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0()); 
+            match(input,48,FollowSets000.FOLLOW_48_in_rule__WeightedTactic__Group_5__0__Impl9612); 
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0()); 
 
             }
 
@@ -30084,32 +12384,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__ObjectiveAssignment_6"
+    // $ANTLR end "rule__WeightedTactic__Group_5__0__Impl"
 
 
-    // $ANTLR start "rule__Strategy__TriggeringEventsAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11914:1: rule__Strategy__TriggeringEventsAssignment_8 : ( ruleEvent ) ;
-    public final void rule__Strategy__TriggeringEventsAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group_5__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4879:1: rule__WeightedTactic__Group_5__1 : rule__WeightedTactic__Group_5__1__Impl ;
+    public final void rule__WeightedTactic__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11918:1: ( ( ruleEvent ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11919:1: ( ruleEvent )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11919:1: ( ruleEvent )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11920:1: ruleEvent
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4883:1: ( rule__WeightedTactic__Group_5__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4884:2: rule__WeightedTactic__Group_5__1__Impl
             {
-             before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_823552);
-            ruleEvent();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__Group_5__1__Impl_in_rule__WeightedTactic__Group_5__19643);
+            rule__WeightedTactic__Group_5__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
-
-            }
-
 
             }
 
@@ -30125,29 +12417,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__TriggeringEventsAssignment_8"
+    // $ANTLR end "rule__WeightedTactic__Group_5__1"
 
 
-    // $ANTLR start "rule__Strategy__TacticsAssignment_11"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11929:1: rule__Strategy__TacticsAssignment_11 : ( ruleWeightedTactic ) ;
-    public final void rule__Strategy__TacticsAssignment_11() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__Group_5__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4890:1: rule__WeightedTactic__Group_5__1__Impl : ( ( rule__WeightedTactic__LastImpactAssignment_5_1 ) ) ;
+    public final void rule__WeightedTactic__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11933:1: ( ( ruleWeightedTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11934:1: ( ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4894:1: ( ( ( rule__WeightedTactic__LastImpactAssignment_5_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4895:1: ( ( rule__WeightedTactic__LastImpactAssignment_5_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11934:1: ( ruleWeightedTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11935:1: ruleWeightedTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4895:1: ( ( rule__WeightedTactic__LastImpactAssignment_5_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4896:1: ( rule__WeightedTactic__LastImpactAssignment_5_1 )
             {
-             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1123583);
-            ruleWeightedTactic();
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4897:1: ( rule__WeightedTactic__LastImpactAssignment_5_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4897:2: rule__WeightedTactic__LastImpactAssignment_5_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedTactic__LastImpactAssignment_5_1_in_rule__WeightedTactic__Group_5__1__Impl9670);
+            rule__WeightedTactic__LastImpactAssignment_5_1();
 
             state._fsp--;
 
-             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1()); 
 
             }
 
@@ -30166,31 +12464,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__TacticsAssignment_11"
+    // $ANTLR end "rule__WeightedTactic__Group_5__1__Impl"
 
 
-    // $ANTLR start "rule__Strategy__TacticsAssignment_12_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11944:1: rule__Strategy__TacticsAssignment_12_1 : ( ruleWeightedTactic ) ;
-    public final void rule__Strategy__TacticsAssignment_12_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4911: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11948:1: ( ( ruleWeightedTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11949:1: ( ruleWeightedTactic )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11949:1: ( ruleWeightedTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11950:1: ruleWeightedTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4915:1: ( rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4916:2: rule__WeightingFunction__Group__0__Impl rule__WeightingFunction__Group__1
             {
-             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_123614);
-            ruleWeightedTactic();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__09704);
+            rule__WeightingFunction__Group__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__09707);
+            rule__WeightingFunction__Group__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30207,29 +12502,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__TacticsAssignment_12_1"
+    // $ANTLR end "rule__WeightingFunction__Group__0"
 
 
-    // $ANTLR start "rule__Strategy__WeightingFunctionAssignment_15"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11959:1: rule__Strategy__WeightingFunctionAssignment_15 : ( ruleWeightingFunction ) ;
-    public final void rule__Strategy__WeightingFunctionAssignment_15() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4923:1: rule__WeightingFunction__Group__0__Impl : ( ( rule__WeightingFunction__NameAssignment_0 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11963:1: ( ( ruleWeightingFunction ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11964:1: ( ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4927:1: ( ( ( rule__WeightingFunction__NameAssignment_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4928:1: ( ( rule__WeightingFunction__NameAssignment_0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11964:1: ( ruleWeightingFunction )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11965:1: ruleWeightingFunction
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4928:1: ( ( rule__WeightingFunction__NameAssignment_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4929:1: ( rule__WeightingFunction__NameAssignment_0 )
             {
-             before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1523645);
-            ruleWeightingFunction();
+             before(grammarAccess.getWeightingFunctionAccess().getNameAssignment_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4930:1: ( rule__WeightingFunction__NameAssignment_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4930:2: rule__WeightingFunction__NameAssignment_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__NameAssignment_0_in_rule__WeightingFunction__Group__0__Impl9734);
+            rule__WeightingFunction__NameAssignment_0();
 
             state._fsp--;
 
-             after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getNameAssignment_0()); 
 
             }
 
@@ -30248,31 +12549,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Strategy__WeightingFunctionAssignment_15"
+    // $ANTLR end "rule__WeightingFunction__Group__0__Impl"
 
 
-    // $ANTLR start "rule__Parameter__NameAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11974:1: rule__Parameter__NameAssignment_1 : ( ruleEString ) ;
-    public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4940: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11978:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11979:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4944:1: ( rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4945:2: rule__WeightingFunction__Group__1__Impl rule__WeightingFunction__Group__2
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11979:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11980:1: ruleEString
-            {
-             before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_123676);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__19764);
+            rule__WeightingFunction__Group__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__19767);
+            rule__WeightingFunction__Group__2();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30289,29 +12587,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__NameAssignment_1"
+    // $ANTLR end "rule__WeightingFunction__Group__1"
 
 
-    // $ANTLR start "rule__Parameter__TypeAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11989:1: rule__Parameter__TypeAssignment_4 : ( ruleEString ) ;
-    public final void rule__Parameter__TypeAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4952:1: rule__WeightingFunction__Group__1__Impl : ( '{' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11993:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11994:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4956:1: ( ( '{' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4957:1: ( '{' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11994:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:11995:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4957:1: ( '{' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4958:1: '{'
             {
-             before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_423707);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+             before(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__WeightingFunction__Group__1__Impl9795); 
+             after(grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1()); 
 
             }
 
@@ -30330,31 +12624,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__TypeAssignment_4"
+    // $ANTLR end "rule__WeightingFunction__Group__1__Impl"
 
 
-    // $ANTLR start "rule__OverallGoal__DescriptionAssignment_3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12004:1: rule__OverallGoal__DescriptionAssignment_3 : ( ruleEString ) ;
-    public final void rule__OverallGoal__DescriptionAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4971: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12008:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12009:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12009:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12010:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4975:1: ( rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4976:2: rule__WeightingFunction__Group__2__Impl rule__WeightingFunction__Group__3
             {
-             before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_323738);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__29826);
+            rule__WeightingFunction__Group__2__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__29829);
+            rule__WeightingFunction__Group__3();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30371,29 +12662,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OverallGoal__DescriptionAssignment_3"
+    // $ANTLR end "rule__WeightingFunction__Group__2"
 
 
-    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12019:1: rule__OverallGoal__ObjectivesAssignment_6 : ( ruleObjective ) ;
-    public final void rule__OverallGoal__ObjectivesAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4983:1: rule__WeightingFunction__Group__2__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_2 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12023:1: ( ( ruleObjective ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12024:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4987:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4988:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12024:1: ( ruleObjective )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12025:1: ruleObjective
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4988:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4989:1: ( rule__WeightingFunction__WeightedMetricsAssignment_2 )
             {
-             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_623769);
-            ruleObjective();
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4990:1: ( rule__WeightingFunction__WeightedMetricsAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:4990:2: rule__WeightingFunction__WeightedMetricsAssignment_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_2_in_rule__WeightingFunction__Group__2__Impl9856);
+            rule__WeightingFunction__WeightedMetricsAssignment_2();
 
             state._fsp--;
 
-             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+
+            }
+
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2()); 
 
             }
 
@@ -30412,31 +12709,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_6"
+    // $ANTLR end "rule__WeightingFunction__Group__2__Impl"
 
 
-    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_7_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12034:1: rule__OverallGoal__ObjectivesAssignment_7_1 : ( ruleObjective ) ;
-    public final void rule__OverallGoal__ObjectivesAssignment_7_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5000: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12038:1: ( ( ruleObjective ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12039:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5004:1: ( rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5005:2: rule__WeightingFunction__Group__3__Impl rule__WeightingFunction__Group__4
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12039:1: ( ruleObjective )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12040:1: ruleObjective
-            {
-             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_7_123800);
-            ruleObjective();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__39886);
+            rule__WeightingFunction__Group__3__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__39889);
+            rule__WeightingFunction__Group__4();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30453,29 +12747,53 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_7_1"
+    // $ANTLR end "rule__WeightingFunction__Group__3"
 
 
-    // $ANTLR start "rule__AdaptationPlan__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12049:1: rule__AdaptationPlan__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__AdaptationPlan__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5012:1: rule__WeightingFunction__Group__3__Impl : ( ( rule__WeightingFunction__Group_3__0 )* ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12053:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12054:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5016:1: ( ( ( rule__WeightingFunction__Group_3__0 )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5017:1: ( ( rule__WeightingFunction__Group_3__0 )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12054:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12055:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5017:1: ( ( rule__WeightingFunction__Group_3__0 )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5018:1: ( rule__WeightingFunction__Group_3__0 )*
             {
-             before(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationPlan__IdAssignment_123831);
-            ruleEString();
+             before(grammarAccess.getWeightingFunctionAccess().getGroup_3()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5019:1: ( rule__WeightingFunction__Group_3__0 )*
+            loop23:
+            do {
+                int alt23=2;
+                int LA23_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA23_0==28) ) {
+                    alt23=1;
+                }
+
+
+                switch (alt23) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5019:2: rule__WeightingFunction__Group_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_3__0_in_rule__WeightingFunction__Group__3__Impl9916);
+            	    rule__WeightingFunction__Group_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop23;
+                }
+            } while (true);
 
-             after(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getWeightingFunctionAccess().getGroup_3()); 
 
             }
 
@@ -30494,32 +12812,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationPlan__IdAssignment_1"
+    // $ANTLR end "rule__WeightingFunction__Group__3__Impl"
 
 
-    // $ANTLR start "rule__AdaptationPlan__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12064:1: rule__AdaptationPlan__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__AdaptationPlan__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5029:1: rule__WeightingFunction__Group__4 : rule__WeightingFunction__Group__4__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12068:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12069:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5033:1: ( rule__WeightingFunction__Group__4__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5034:2: rule__WeightingFunction__Group__4__Impl
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12069:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12070:1: ruleEString
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__AdaptationPlan__NameAssignment_423862);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__49947);
+            rule__WeightingFunction__Group__4__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
-
-            }
-
 
             }
 
@@ -30535,29 +12845,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationPlan__NameAssignment_4"
+    // $ANTLR end "rule__WeightingFunction__Group__4"
 
 
-    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_5_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12079:1: rule__AdaptationPlan__StepsAssignment_5_2 : ( ruleAbstractControlFlowElement ) ;
-    public final void rule__AdaptationPlan__StepsAssignment_5_2() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5040:1: rule__WeightingFunction__Group__4__Impl : ( '}' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12083:1: ( ( ruleAbstractControlFlowElement ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12084:1: ( ruleAbstractControlFlowElement )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5044:1: ( ( '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5045:1: ( '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12084:1: ( ruleAbstractControlFlowElement )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12085:1: ruleAbstractControlFlowElement
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5045:1: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5046:1: '}'
             {
-             before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_223893);
-            ruleAbstractControlFlowElement();
-
-            state._fsp--;
-
-             after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+             before(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__WeightingFunction__Group__4__Impl9975); 
+             after(grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4()); 
 
             }
 
@@ -30576,31 +12882,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_5_2"
+    // $ANTLR end "rule__WeightingFunction__Group__4__Impl"
 
 
-    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_5_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12094:1: rule__AdaptationPlan__StepsAssignment_5_3_1 : ( ruleAbstractControlFlowElement ) ;
-    public final void rule__AdaptationPlan__StepsAssignment_5_3_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group_3__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5069:1: rule__WeightingFunction__Group_3__0 : rule__WeightingFunction__Group_3__0__Impl rule__WeightingFunction__Group_3__1 ;
+    public final void rule__WeightingFunction__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12098:1: ( ( ruleAbstractControlFlowElement ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12099:1: ( ruleAbstractControlFlowElement )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5073:1: ( rule__WeightingFunction__Group_3__0__Impl rule__WeightingFunction__Group_3__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5074:2: rule__WeightingFunction__Group_3__0__Impl rule__WeightingFunction__Group_3__1
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12099:1: ( ruleAbstractControlFlowElement )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12100:1: ruleAbstractControlFlowElement
-            {
-             before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_3_123924);
-            ruleAbstractControlFlowElement();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_3__0__Impl_in_rule__WeightingFunction__Group_3__010016);
+            rule__WeightingFunction__Group_3__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_3__1_in_rule__WeightingFunction__Group_3__010019);
+            rule__WeightingFunction__Group_3__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30617,29 +12920,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_5_3_1"
+    // $ANTLR end "rule__WeightingFunction__Group_3__0"
 
 
-    // $ANTLR start "rule__StartAction__IdAssignment_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12109:1: rule__StartAction__IdAssignment_2 : ( ruleEString ) ;
-    public final void rule__StartAction__IdAssignment_2() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group_3__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5081:1: rule__WeightingFunction__Group_3__0__Impl : ( ',' ) ;
+    public final void rule__WeightingFunction__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12113:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12114:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5085:1: ( ( ',' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5086:1: ( ',' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12114:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12115:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5086:1: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5087:1: ','
             {
-             before(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__IdAssignment_223955);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
+             before(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__WeightingFunction__Group_3__0__Impl10047); 
+             after(grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0()); 
 
             }
 
@@ -30658,40 +12957,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StartAction__IdAssignment_2"
+    // $ANTLR end "rule__WeightingFunction__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__StartAction__PredecessorAssignment_4_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12124:1: rule__StartAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
-    public final void rule__StartAction__PredecessorAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group_3__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5100:1: rule__WeightingFunction__Group_3__1 : rule__WeightingFunction__Group_3__1__Impl ;
+    public final void rule__WeightingFunction__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12128:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12129:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12129:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12130:1: ( ruleEString )
-            {
-             before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12131:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12132:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5104:1: ( rule__WeightingFunction__Group_3__1__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5105:2: rule__WeightingFunction__Group_3__1__Impl
             {
-             before(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__PredecessorAssignment_4_123990);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__Group_3__1__Impl_in_rule__WeightingFunction__Group_3__110078);
+            rule__WeightingFunction__Group_3__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-
-            }
-
 
             }
 
@@ -30707,37 +12990,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StartAction__PredecessorAssignment_4_1"
+    // $ANTLR end "rule__WeightingFunction__Group_3__1"
 
 
-    // $ANTLR start "rule__StartAction__SuccessorAssignment_5_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12143:1: rule__StartAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
-    public final void rule__StartAction__SuccessorAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__Group_3__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5111:1: rule__WeightingFunction__Group_3__1__Impl : ( ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 ) ) ;
+    public final void rule__WeightingFunction__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12147:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12148:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5115:1: ( ( ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5116:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12148:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12149:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5116:1: ( ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5117:1: ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 )
             {
-             before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12150:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12151:1: ruleEString
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5118:1: ( rule__WeightingFunction__WeightedMetricsAssignment_3_1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5118:2: rule__WeightingFunction__WeightedMetricsAssignment_3_1
             {
-             before(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StartAction__SuccessorAssignment_5_124029);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_3_1_in_rule__WeightingFunction__Group_3__1__Impl10105);
+            rule__WeightingFunction__WeightedMetricsAssignment_3_1();
 
             state._fsp--;
 
-             after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
 
             }
 
-             after(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1()); 
 
             }
 
@@ -30756,31 +13037,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StartAction__SuccessorAssignment_5_1"
+    // $ANTLR end "rule__WeightingFunction__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__StopAction__IdAssignment_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12162:1: rule__StopAction__IdAssignment_2 : ( ruleEString ) ;
-    public final void rule__StopAction__IdAssignment_2() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5133: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12166:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12167:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5137:1: ( rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5138:2: rule__WeightedMetric__Group__0__Impl rule__WeightedMetric__Group__1
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12167:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12168:1: ruleEString
-            {
-             before(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__IdAssignment_224064);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__010140);
+            rule__WeightedMetric__Group__0__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__010143);
+            rule__WeightedMetric__Group__1();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30797,37 +13075,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StopAction__IdAssignment_2"
+    // $ANTLR end "rule__WeightedMetric__Group__0"
 
 
-    // $ANTLR start "rule__StopAction__PredecessorAssignment_4_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12177:1: rule__StopAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
-    public final void rule__StopAction__PredecessorAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__0__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5145:1: rule__WeightedMetric__Group__0__Impl : ( ( rule__WeightedMetric__NameAssignment_0 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12181:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12182:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5149:1: ( ( ( rule__WeightedMetric__NameAssignment_0 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5150:1: ( ( rule__WeightedMetric__NameAssignment_0 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12182:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12183:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5150:1: ( ( rule__WeightedMetric__NameAssignment_0 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5151:1: ( rule__WeightedMetric__NameAssignment_0 )
             {
-             before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12184:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12185:1: ruleEString
+             before(grammarAccess.getWeightedMetricAccess().getNameAssignment_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5152:1: ( rule__WeightedMetric__NameAssignment_0 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5152:2: rule__WeightedMetric__NameAssignment_0
             {
-             before(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__PredecessorAssignment_4_124099);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__NameAssignment_0_in_rule__WeightedMetric__Group__0__Impl10170);
+            rule__WeightedMetric__NameAssignment_0();
 
             state._fsp--;
 
-             after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
 
             }
 
-             after(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getNameAssignment_0()); 
 
             }
 
@@ -30846,39 +13122,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StopAction__PredecessorAssignment_4_1"
+    // $ANTLR end "rule__WeightedMetric__Group__0__Impl"
 
 
-    // $ANTLR start "rule__StopAction__SuccessorAssignment_5_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12196:1: rule__StopAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
-    public final void rule__StopAction__SuccessorAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5162: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12200:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12201:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12201:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12202:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5166:1: ( rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5167:2: rule__WeightedMetric__Group__1__Impl rule__WeightedMetric__Group__2
             {
-             before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12203:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12204:1: ruleEString
-            {
-             before(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__StopAction__SuccessorAssignment_5_124138);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__110200);
+            rule__WeightedMetric__Group__1__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__110203);
+            rule__WeightedMetric__Group__2();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30895,29 +13160,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__StopAction__SuccessorAssignment_5_1"
+    // $ANTLR end "rule__WeightedMetric__Group__1"
 
 
-    // $ANTLR start "rule__LoopAction__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12215:1: rule__LoopAction__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__LoopAction__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__1__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5174:1: rule__WeightedMetric__Group__1__Impl : ( '=' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12219:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12220:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5178:1: ( ( '=' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5179:1: ( '=' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12220:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12221:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5179:1: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5180:1: '='
             {
-             before(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__IdAssignment_124173);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
+             before(grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__WeightedMetric__Group__1__Impl10231); 
+             after(grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1()); 
 
             }
 
@@ -30936,31 +13197,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__LoopAction__IdAssignment_1"
+    // $ANTLR end "rule__WeightedMetric__Group__1__Impl"
 
 
-    // $ANTLR start "rule__LoopAction__CounterAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12230:1: rule__LoopAction__CounterAssignment_4 : ( ruleEInt ) ;
-    public final void rule__LoopAction__CounterAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5193: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12234:1: ( ( ruleEInt ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12235:1: ( ruleEInt )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12235:1: ( ruleEInt )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12236:1: ruleEInt
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5197:1: ( rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5198:2: rule__WeightedMetric__Group__2__Impl rule__WeightedMetric__Group__3
             {
-             before(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEInt_in_rule__LoopAction__CounterAssignment_424204);
-            ruleEInt();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__210262);
+            rule__WeightedMetric__Group__2__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__210265);
+            rule__WeightedMetric__Group__3();
 
-            }
+            state._fsp--;
 
 
             }
@@ -30977,37 +13235,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__LoopAction__CounterAssignment_4"
+    // $ANTLR end "rule__WeightedMetric__Group__2"
 
 
-    // $ANTLR start "rule__LoopAction__PredecessorAssignment_5_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12245:1: rule__LoopAction__PredecessorAssignment_5_1 : ( ( ruleEString ) ) ;
-    public final void rule__LoopAction__PredecessorAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__2__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5205:1: rule__WeightedMetric__Group__2__Impl : ( ( rule__WeightedMetric__WeightAssignment_2 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12249:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12250:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5209:1: ( ( ( rule__WeightedMetric__WeightAssignment_2 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5210:1: ( ( rule__WeightedMetric__WeightAssignment_2 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12250:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12251:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5210:1: ( ( rule__WeightedMetric__WeightAssignment_2 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5211:1: ( rule__WeightedMetric__WeightAssignment_2 )
             {
-             before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12252:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12253:1: ruleEString
+             before(grammarAccess.getWeightedMetricAccess().getWeightAssignment_2()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5212:1: ( rule__WeightedMetric__WeightAssignment_2 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5212:2: rule__WeightedMetric__WeightAssignment_2
             {
-             before(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__PredecessorAssignment_5_124239);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__WeightAssignment_2_in_rule__WeightedMetric__Group__2__Impl10292);
+            rule__WeightedMetric__WeightAssignment_2();
 
             state._fsp--;
 
-             after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
 
             }
 
-             after(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getWeightAssignment_2()); 
 
             }
 
@@ -31026,39 +13282,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__LoopAction__PredecessorAssignment_5_1"
+    // $ANTLR end "rule__WeightedMetric__Group__2__Impl"
 
 
-    // $ANTLR start "rule__LoopAction__SuccessorAssignment_6_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12264:1: rule__LoopAction__SuccessorAssignment_6_1 : ( ( ruleEString ) ) ;
-    public final void rule__LoopAction__SuccessorAssignment_6_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5222: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12268:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12269:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12269:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12270:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5226:1: ( rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5227:2: rule__WeightedMetric__Group__3__Impl rule__WeightedMetric__Group__4
             {
-             before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12271:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12272:1: ruleEString
-            {
-             before(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__LoopAction__SuccessorAssignment_6_124278);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__310322);
+            rule__WeightedMetric__Group__3__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__310325);
+            rule__WeightedMetric__Group__4();
 
-            }
+            state._fsp--;
 
 
             }
@@ -31075,29 +13320,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__LoopAction__SuccessorAssignment_6_1"
+    // $ANTLR end "rule__WeightedMetric__Group__3"
 
 
-    // $ANTLR start "rule__LoopAction__BodyAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12283:1: rule__LoopAction__BodyAssignment_8 : ( ruleAdaptationPlan ) ;
-    public final void rule__LoopAction__BodyAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__3__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5234:1: rule__WeightedMetric__Group__3__Impl : ( 'ref' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12287:1: ( ( ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12288:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5238:1: ( ( 'ref' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5239:1: ( 'ref' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12288:1: ( ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12289:1: ruleAdaptationPlan
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5239:1: ( 'ref' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5240:1: 'ref'
             {
-             before(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__LoopAction__BodyAssignment_824313);
-            ruleAdaptationPlan();
-
-            state._fsp--;
-
-             after(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
+             before(grammarAccess.getWeightedMetricAccess().getRefKeyword_3()); 
+            match(input,49,FollowSets000.FOLLOW_49_in_rule__WeightedMetric__Group__3__Impl10353); 
+             after(grammarAccess.getWeightedMetricAccess().getRefKeyword_3()); 
 
             }
 
@@ -31116,31 +13357,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__LoopAction__BodyAssignment_8"
+    // $ANTLR end "rule__WeightedMetric__Group__3__Impl"
 
 
-    // $ANTLR start "rule__BranchAction__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12298:1: rule__BranchAction__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__BranchAction__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5253: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12302:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12303:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12303:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12304:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5257:1: ( rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5258:2: rule__WeightedMetric__Group__4__Impl rule__WeightedMetric__Group__5
             {
-             before(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__IdAssignment_124344);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__410384);
+            rule__WeightedMetric__Group__4__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__410387);
+            rule__WeightedMetric__Group__5();
 
-            }
+            state._fsp--;
 
 
             }
@@ -31157,29 +13395,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__IdAssignment_1"
+    // $ANTLR end "rule__WeightedMetric__Group__4"
 
 
-    // $ANTLR start "rule__BranchAction__ConditionAssignment_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12313:1: rule__BranchAction__ConditionAssignment_3_1 : ( ruleEString ) ;
-    public final void rule__BranchAction__ConditionAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__4__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5265:1: rule__WeightedMetric__Group__4__Impl : ( ':' ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12317:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12318:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5269:1: ( ( ':' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5270:1: ( ':' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12318:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12319:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5270:1: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5271:1: ':'
             {
-             before(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__ConditionAssignment_3_124375);
-            ruleEString();
-
-            state._fsp--;
-
-             after(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
+             before(grammarAccess.getWeightedMetricAccess().getColonKeyword_4()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__WeightedMetric__Group__4__Impl10415); 
+             after(grammarAccess.getWeightedMetricAccess().getColonKeyword_4()); 
 
             }
 
@@ -31198,40 +13432,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__ConditionAssignment_3_1"
+    // $ANTLR end "rule__WeightedMetric__Group__4__Impl"
 
 
-    // $ANTLR start "rule__BranchAction__PredecessorAssignment_4_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12328:1: rule__BranchAction__PredecessorAssignment_4_1 : ( ( ruleEString ) ) ;
-    public final void rule__BranchAction__PredecessorAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5284:1: rule__WeightedMetric__Group__5 : rule__WeightedMetric__Group__5__Impl ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12332:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12333:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12333:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12334:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5288:1: ( rule__WeightedMetric__Group__5__Impl )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5289:2: rule__WeightedMetric__Group__5__Impl
             {
-             before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12335:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12336:1: ruleEString
-            {
-             before(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__PredecessorAssignment_4_124410);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__510446);
+            rule__WeightedMetric__Group__5__Impl();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-
-            }
-
 
             }
 
@@ -31247,37 +13465,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__PredecessorAssignment_4_1"
+    // $ANTLR end "rule__WeightedMetric__Group__5"
 
 
-    // $ANTLR start "rule__BranchAction__SuccessorAssignment_5_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12347:1: rule__BranchAction__SuccessorAssignment_5_1 : ( ( ruleEString ) ) ;
-    public final void rule__BranchAction__SuccessorAssignment_5_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__Group__5__Impl"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5295:1: rule__WeightedMetric__Group__5__Impl : ( ( rule__WeightedMetric__MetricTypeAssignment_5 ) ) ;
+    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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12351:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12352:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5299:1: ( ( ( rule__WeightedMetric__MetricTypeAssignment_5 ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5300:1: ( ( rule__WeightedMetric__MetricTypeAssignment_5 ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12352:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12353:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5300:1: ( ( rule__WeightedMetric__MetricTypeAssignment_5 ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5301:1: ( rule__WeightedMetric__MetricTypeAssignment_5 )
             {
-             before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12354:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12355:1: ruleEString
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5302:1: ( rule__WeightedMetric__MetricTypeAssignment_5 )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5302:2: rule__WeightedMetric__MetricTypeAssignment_5
             {
-             before(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__SuccessorAssignment_5_124449);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_rule__WeightedMetric__MetricTypeAssignment_5_in_rule__WeightedMetric__Group__5__Impl10473);
+            rule__WeightedMetric__MetricTypeAssignment_5();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1()); 
 
             }
 
-             after(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5()); 
 
             }
 
@@ -31296,37 +13512,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__SuccessorAssignment_5_1"
+    // $ANTLR end "rule__WeightedMetric__Group__5__Impl"
 
 
-    // $ANTLR start "rule__BranchAction__ContextAssignment_6_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12366:1: rule__BranchAction__ContextAssignment_6_1 : ( ( ruleEString ) ) ;
-    public final void rule__BranchAction__ContextAssignment_6_1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5325:1: rule__AdaptationProcess__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__AdaptationProcess__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12370:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12371:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5329:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5330:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12371:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12372:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5330:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5331:1: ruleEString
             {
-             before(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12373:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12374:1: ruleEString
-            {
-             before(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__BranchAction__ContextAssignment_6_124488);
+             before(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_110520);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getContextEntityEStringParserRuleCall_6_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -31345,29 +13553,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__ContextAssignment_6_1"
+    // $ANTLR end "rule__AdaptationProcess__NameAssignment_1"
 
 
-    // $ANTLR start "rule__BranchAction__ConditionTrueBranchAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12385:1: rule__BranchAction__ConditionTrueBranchAssignment_8 : ( ruleAdaptationPlan ) ;
-    public final void rule__BranchAction__ConditionTrueBranchAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__GoalAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5340:1: rule__AdaptationProcess__GoalAssignment_4 : ( ruleOverallGoal ) ;
+    public final void rule__AdaptationProcess__GoalAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12389:1: ( ( ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12390:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5344:1: ( ( ruleOverallGoal ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5345:1: ( ruleOverallGoal )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12390:1: ( ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12391:1: ruleAdaptationPlan
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5345:1: ( ruleOverallGoal )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5346:1: ruleOverallGoal
             {
-             before(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionTrueBranchAssignment_824523);
-            ruleAdaptationPlan();
+             before(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_410551);
+            ruleOverallGoal();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); 
 
             }
 
@@ -31386,29 +13594,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__ConditionTrueBranchAssignment_8"
+    // $ANTLR end "rule__AdaptationProcess__GoalAssignment_4"
 
 
-    // $ANTLR start "rule__BranchAction__ConditionFalseBranchAssignment_10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12400:1: rule__BranchAction__ConditionFalseBranchAssignment_10 : ( ruleAdaptationPlan ) ;
-    public final void rule__BranchAction__ConditionFalseBranchAssignment_10() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5355:1: rule__AdaptationProcess__ActionsAssignment_7 : ( ruleAction ) ;
+    public final void rule__AdaptationProcess__ActionsAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12404:1: ( ( ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12405:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5359:1: ( ( ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5360:1: ( ruleAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12405:1: ( ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12406:1: ruleAdaptationPlan
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5360:1: ( ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5361:1: ruleAction
             {
-             before(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionFalseBranchAssignment_1024554);
-            ruleAdaptationPlan();
+             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_710582);
+            ruleAction();
 
             state._fsp--;
 
-             after(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); 
 
             }
 
@@ -31427,29 +13635,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__BranchAction__ConditionFalseBranchAssignment_10"
+    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_7"
 
 
-    // $ANTLR start "rule__ActionReference__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12415:1: rule__ActionReference__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__ActionReference__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__ActionsAssignment_8_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5370:1: rule__AdaptationProcess__ActionsAssignment_8_1 : ( ruleAction ) ;
+    public final void rule__AdaptationProcess__ActionsAssignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12419:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12420:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5374:1: ( ( ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5375:1: ( ruleAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12420:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12421:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5375:1: ( ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5376:1: ruleAction
             {
-             before(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__IdAssignment_124585);
-            ruleEString();
+             before(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_8_110613);
+            ruleAction();
 
             state._fsp--;
 
-             after(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); 
 
             }
 
@@ -31468,37 +13676,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ActionReference__IdAssignment_1"
+    // $ANTLR end "rule__AdaptationProcess__ActionsAssignment_8_1"
 
 
-    // $ANTLR start "rule__ActionReference__PredecessorAssignment_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12430:1: rule__ActionReference__PredecessorAssignment_3_1 : ( ( ruleEString ) ) ;
-    public final void rule__ActionReference__PredecessorAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5385:1: rule__AdaptationProcess__TacticsAssignment_11 : ( ruleTactic ) ;
+    public final void rule__AdaptationProcess__TacticsAssignment_11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12434:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12435:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5389:1: ( ( ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5390:1: ( ruleTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12435:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12436:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5390:1: ( ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5391:1: ruleTactic
             {
-             before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12437:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12438:1: ruleEString
-            {
-             before(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__PredecessorAssignment_3_124620);
-            ruleEString();
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_1110644);
+            ruleTactic();
 
             state._fsp--;
 
-             after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementEStringParserRuleCall_3_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); 
 
             }
 
@@ -31517,37 +13717,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ActionReference__PredecessorAssignment_3_1"
+    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_11"
 
 
-    // $ANTLR start "rule__ActionReference__SuccessorAssignment_4_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12449:1: rule__ActionReference__SuccessorAssignment_4_1 : ( ( ruleEString ) ) ;
-    public final void rule__ActionReference__SuccessorAssignment_4_1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__TacticsAssignment_12_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5400:1: rule__AdaptationProcess__TacticsAssignment_12_1 : ( ruleTactic ) ;
+    public final void rule__AdaptationProcess__TacticsAssignment_12_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12453:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12454:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5404:1: ( ( ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5405:1: ( ruleTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12454:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12455:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5405:1: ( ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5406:1: ruleTactic
             {
-             before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12456:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12457:1: ruleEString
-            {
-             before(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__SuccessorAssignment_4_124659);
-            ruleEString();
+             before(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_12_110675);
+            ruleTactic();
 
             state._fsp--;
 
-             after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); 
 
             }
 
@@ -31566,37 +13758,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ActionReference__SuccessorAssignment_4_1"
+    // $ANTLR end "rule__AdaptationProcess__TacticsAssignment_12_1"
 
 
-    // $ANTLR start "rule__ActionReference__RefersToAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12468:1: rule__ActionReference__RefersToAssignment_6 : ( ( ruleEString ) ) ;
-    public final void rule__ActionReference__RefersToAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5415:1: rule__AdaptationProcess__StrategiesAssignment_15 : ( ruleStrategy ) ;
+    public final void rule__AdaptationProcess__StrategiesAssignment_15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12472:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12473:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5419:1: ( ( ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5420:1: ( ruleStrategy )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12473:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12474:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5420:1: ( ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5421:1: ruleStrategy
             {
-             before(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12475:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12476:1: ruleEString
-            {
-             before(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ActionReference__RefersToAssignment_624698);
-            ruleEString();
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1510706);
+            ruleStrategy();
 
             state._fsp--;
 
-             after(grammarAccess.getActionReferenceAccess().getRefersToActionEStringParserRuleCall_6_0_1()); 
-
-            }
-
-             after(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); 
 
             }
 
@@ -31615,29 +13799,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ActionReference__RefersToAssignment_6"
+    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_15"
 
 
-    // $ANTLR start "rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12487:1: rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3 : ( ruleAdaptationScope ) ;
-    public final void rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__StrategiesAssignment_16_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5430:1: rule__AdaptationProcess__StrategiesAssignment_16_1 : ( ruleStrategy ) ;
+    public final void rule__AdaptationProcess__StrategiesAssignment_16_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12491:1: ( ( ruleAdaptationScope ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12492:1: ( ruleAdaptationScope )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5434:1: ( ( ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5435:1: ( ruleStrategy )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12492:1: ( ruleAdaptationScope )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12493:1: ruleAdaptationScope
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5435:1: ( ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5436:1: ruleStrategy
             {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationScope_in_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_324733);
-            ruleAdaptationScope();
+             before(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_16_110737);
+            ruleStrategy();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); 
 
             }
 
@@ -31656,29 +13840,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3"
+    // $ANTLR end "rule__AdaptationProcess__StrategiesAssignment_16_1"
 
 
-    // $ANTLR start "rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12502:1: rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5 : ( ruleAdaptationDirection ) ;
-    public final void rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_17_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5445:1: rule__AdaptationProcess__ParametersAssignment_17_2 : ( ruleParameter ) ;
+    public final void rule__AdaptationProcess__ParametersAssignment_17_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12506:1: ( ( ruleAdaptationDirection ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12507:1: ( ruleAdaptationDirection )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5449:1: ( ( ruleParameter ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5450:1: ( ruleParameter )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12507:1: ( ruleAdaptationDirection )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12508:1: ruleAdaptationDirection
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5450:1: ( ruleParameter )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5451:1: ruleParameter
             {
-             before(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleAdaptationDirection_in_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_524764);
-            ruleAdaptationDirection();
+             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_17_210768);
+            ruleParameter();
 
             state._fsp--;
 
-             after(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); 
 
             }
 
@@ -31697,29 +13881,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5"
+    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_17_2"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12517:1: rule__ModelVariableConfigurationRange__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__ModelVariableConfigurationRange__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationProcess__ParametersAssignment_17_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5460:1: rule__AdaptationProcess__ParametersAssignment_17_3_1 : ( ruleParameter ) ;
+    public final void rule__AdaptationProcess__ParametersAssignment_17_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12521:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12522:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5464:1: ( ( ruleParameter ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5465:1: ( ruleParameter )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12522:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12523:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5465:1: ( ruleParameter )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5466:1: ruleParameter
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__IdAssignment_124795);
-            ruleEString();
+             before(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_17_3_110799);
+            ruleParameter();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); 
 
             }
 
@@ -31738,29 +13922,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__IdAssignment_1"
+    // $ANTLR end "rule__AdaptationProcess__ParametersAssignment_17_3_1"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12532:1: rule__ModelVariableConfigurationRange__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__ModelVariableConfigurationRange__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5475:1: rule__Tactic__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__Tactic__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12536:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12537:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5479:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5480:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12537:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12538:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5480:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5481:1: ruleEString
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__NameAssignment_424826);
+             before(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_110830);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -31779,29 +13963,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__NameAssignment_4"
+    // $ANTLR end "rule__Tactic__NameAssignment_1"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__MinValueAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12547:1: rule__ModelVariableConfigurationRange__MinValueAssignment_6 : ( ruleEDouble ) ;
-    public final void rule__ModelVariableConfigurationRange__MinValueAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__InputParamsAssignment_3_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5490:1: rule__Tactic__InputParamsAssignment_3_2 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__InputParamsAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12551:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12552:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5494:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5495:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12552:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12553:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5495:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5496:1: ( ruleEString )
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MinValueAssignment_624857);
-            ruleEDouble();
+             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5497:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5498:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_3_210865);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
+             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); 
 
             }
 
@@ -31820,29 +14012,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__MinValueAssignment_6"
+    // $ANTLR end "rule__Tactic__InputParamsAssignment_3_2"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__MaxValueAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12562:1: rule__ModelVariableConfigurationRange__MaxValueAssignment_8 : ( ruleEDouble ) ;
-    public final void rule__ModelVariableConfigurationRange__MaxValueAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__InputParamsAssignment_3_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5509:1: rule__Tactic__InputParamsAssignment_3_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__InputParamsAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12566:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12567:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5513:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5514:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12567:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12568:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5514:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5515:1: ( ruleEString )
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MaxValueAssignment_824888);
-            ruleEDouble();
+             before(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5516:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5517:1: ruleEString
+            {
+             before(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_3_3_110904);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
+             after(grammarAccess.getTacticAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
 
             }
 
@@ -31861,37 +14061,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__MaxValueAssignment_8"
+    // $ANTLR end "rule__Tactic__InputParamsAssignment_3_3_1"
 
 
-    // $ANTLR start "rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12577:1: rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10 : ( ( ruleEString ) ) ;
-    public final void rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__OutputParamAssignment_4_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5528:1: rule__Tactic__OutputParamAssignment_4_2 : ( ( ruleEString ) ) ;
+    public final void rule__Tactic__OutputParamAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12581:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12582:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5532:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5533:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12582:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12583:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5533:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5534:1: ( ruleEString )
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12584:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12585:1: ruleEString
+             before(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5535:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5536:1: ruleEString
             {
-             before(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_1024923);
+             before(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_4_210943);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityEStringParserRuleCall_10_0_1()); 
+             after(grammarAccess.getTacticAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); 
 
             }
 
-             after(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
+             after(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); 
 
             }
 
@@ -31910,29 +14110,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10"
+    // $ANTLR end "rule__Tactic__OutputParamAssignment_4_2"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12596:1: rule__ModelEntityConfigurationRange__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__ModelEntityConfigurationRange__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Tactic__ImplementedPlanAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5547:1: rule__Tactic__ImplementedPlanAssignment_7 : ( ruleAdaptationPlan ) ;
+    public final void rule__Tactic__ImplementedPlanAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12600:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12601:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5551:1: ( ( ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5552:1: ( ruleAdaptationPlan )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12601:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12602:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5552:1: ( ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5553:1: ruleAdaptationPlan
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__IdAssignment_124958);
-            ruleEString();
+             before(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_710978);
+            ruleAdaptationPlan();
 
             state._fsp--;
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); 
 
             }
 
@@ -31951,29 +14151,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__IdAssignment_1"
+    // $ANTLR end "rule__Tactic__ImplementedPlanAssignment_7"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12611:1: rule__ModelEntityConfigurationRange__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__ModelEntityConfigurationRange__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Action__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5562:1: rule__Action__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__Action__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12615:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12616:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5566:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5567:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12616:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12617:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5567:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5568:1: ruleEString
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__NameAssignment_424989);
+             before(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Action__NameAssignment_111009);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -31992,37 +14192,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__NameAssignment_4"
+    // $ANTLR end "rule__Action__NameAssignment_1"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12626:1: rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6 : ( ( ruleEString ) ) ;
-    public final void rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__Action__InputParamsAssignment_3_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5577:1: rule__Action__InputParamsAssignment_3_2 : ( ( ruleEString ) ) ;
+    public final void rule__Action__InputParamsAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12630:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12631:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5581:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5582:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12631:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12632:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5582:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5583:1: ( ruleEString )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12633:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12634:1: ruleEString
+             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5584:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5585:1: ruleEString
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_625024);
+             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_3_211044);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityEStringParserRuleCall_6_0_1()); 
+             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_2_0_1()); 
 
             }
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
+             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); 
 
             }
 
@@ -32041,29 +14241,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6"
+    // $ANTLR end "rule__Action__InputParamsAssignment_3_2"
 
 
-    // $ANTLR start "rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12645:1: rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8 : ( ruleVariationType ) ;
-    public final void rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__Action__InputParamsAssignment_3_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5596:1: rule__Action__InputParamsAssignment_3_3_1 : ( ( ruleEString ) ) ;
+    public final void rule__Action__InputParamsAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12649:1: ( ( ruleVariationType ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12650:1: ( ruleVariationType )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5600:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5601:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12650:1: ( ruleVariationType )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12651:1: ruleVariationType
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5601:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5602:1: ( ruleEString )
             {
-             before(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleVariationType_in_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_825059);
-            ruleVariationType();
+             before(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5603:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5604:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_3_3_111083);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
+             after(grammarAccess.getActionAccess().getInputParamsParameterEStringParserRuleCall_3_3_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
 
             }
 
@@ -32082,29 +14290,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8"
+    // $ANTLR end "rule__Action__InputParamsAssignment_3_3_1"
 
 
-    // $ANTLR start "rule__PropertyRange__MinValueConstraintAssignment_3"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12660:1: rule__PropertyRange__MinValueConstraintAssignment_3 : ( ruleOclConstraint ) ;
-    public final void rule__PropertyRange__MinValueConstraintAssignment_3() throws RecognitionException {
+    // $ANTLR start "rule__Action__OutputParamAssignment_4_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5615:1: rule__Action__OutputParamAssignment_4_2 : ( ( ruleEString ) ) ;
+    public final void rule__Action__OutputParamAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12664:1: ( ( ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12665:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5619:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5620:1: ( ( ruleEString ) )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5620:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5621:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12665:1: ( ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12666:1: ruleOclConstraint
+             before(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5622:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5623:1: ruleEString
             {
-             before(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MinValueConstraintAssignment_325090);
-            ruleOclConstraint();
+             before(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_4_211122);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
+             after(grammarAccess.getActionAccess().getOutputParamParameterEStringParserRuleCall_4_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); 
 
             }
 
@@ -32123,29 +14339,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__MinValueConstraintAssignment_3"
+    // $ANTLR end "rule__Action__OutputParamAssignment_4_2"
 
 
-    // $ANTLR start "rule__PropertyRange__MaxValueConstraintAssignment_5"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12675:1: rule__PropertyRange__MaxValueConstraintAssignment_5 : ( ruleOclConstraint ) ;
-    public final void rule__PropertyRange__MaxValueConstraintAssignment_5() throws RecognitionException {
+    // $ANTLR start "rule__Action__ReferredAdaptationPointAssignment_7"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5634:1: rule__Action__ReferredAdaptationPointAssignment_7 : ( ( ruleEString ) ) ;
+    public final void rule__Action__ReferredAdaptationPointAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12679:1: ( ( ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12680:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5638:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5639:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12680:1: ( ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12681:1: ruleOclConstraint
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5639:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5640:1: ( ruleEString )
             {
-             before(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MaxValueConstraintAssignment_525121);
-            ruleOclConstraint();
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5641:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5642:1: ruleEString
+            {
+             before(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_711161);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1()); 
+
+            }
+
+             after(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); 
 
             }
 
@@ -32164,37 +14388,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__PropertyRange__MaxValueConstraintAssignment_5"
+    // $ANTLR end "rule__Action__ReferredAdaptationPointAssignment_7"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__VariantsAssignment_2_2"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12690:1: rule__SetOfConfigurations__VariantsAssignment_2_2 : ( ( ruleEString ) ) ;
-    public final void rule__SetOfConfigurations__VariantsAssignment_2_2() throws RecognitionException {
+    // $ANTLR start "rule__Action__AdaptationActionOperationAssignment_10"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5653: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12694:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12695:1: ( ( ruleEString ) )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12695:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12696:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5657:1: ( ( ruleAdaptationActionOperation ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5658:1: ( ruleAdaptationActionOperation )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12697:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12698:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5658:1: ( ruleAdaptationActionOperation )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5659:1: ruleAdaptationActionOperation
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_225156);
-            ruleEString();
+             before(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1011196);
+            ruleAdaptationActionOperation();
 
             state._fsp--;
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_2_0_1()); 
-
-            }
-
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
+             after(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
 
             }
 
@@ -32213,37 +14429,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__VariantsAssignment_2_2"
+    // $ANTLR end "rule__Action__AdaptationActionOperationAssignment_10"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__VariantsAssignment_2_3_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12709:1: rule__SetOfConfigurations__VariantsAssignment_2_3_1 : ( ( ruleEString ) ) ;
-    public final void rule__SetOfConfigurations__VariantsAssignment_2_3_1() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5668:1: rule__Strategy__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__Strategy__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12713:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12714:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5672:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5673:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12714:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12715:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5673:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5674:1: ruleEString
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12716:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12717:1: ruleEString
-            {
-             before(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_3_125195);
+             before(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_111227);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityEStringParserRuleCall_2_3_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
+             after(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -32262,29 +14470,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__VariantsAssignment_2_3_1"
+    // $ANTLR end "rule__Strategy__NameAssignment_1"
 
 
-    // $ANTLR start "rule__SetOfConfigurations__ValueConstraintAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12728:1: rule__SetOfConfigurations__ValueConstraintAssignment_4 : ( ruleOclConstraint ) ;
-    public final void rule__SetOfConfigurations__ValueConstraintAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__ObjectiveAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5683:1: rule__Strategy__ObjectiveAssignment_5 : ( ( ruleEString ) ) ;
+    public final void rule__Strategy__ObjectiveAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12732:1: ( ( ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12733:1: ( ruleOclConstraint )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5687:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5688:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12733:1: ( ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12734:1: ruleOclConstraint
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5688:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5689:1: ( ruleEString )
             {
-             before(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleOclConstraint_in_rule__SetOfConfigurations__ValueConstraintAssignment_425230);
-            ruleOclConstraint();
+             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5690:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5691:1: ruleEString
+            {
+             before(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_5_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_511262);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
+             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveEStringParserRuleCall_5_0_1()); 
+
+            }
+
+             after(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); 
 
             }
 
@@ -32303,29 +14519,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__SetOfConfigurations__ValueConstraintAssignment_4"
+    // $ANTLR end "rule__Strategy__ObjectiveAssignment_5"
 
 
-    // $ANTLR start "rule__OclConstraint__NameAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12743:1: rule__OclConstraint__NameAssignment_1 : ( ruleEString ) ;
-    public final void rule__OclConstraint__NameAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__TriggeringEventsAssignment_8"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5702: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12747:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12748:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5706:1: ( ( ruleEvent ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5707:1: ( ruleEvent )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12748:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12749:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5707:1: ( ruleEvent )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5708:1: ruleEvent
             {
-             before(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OclConstraint__NameAssignment_125261);
-            ruleEString();
+             before(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_811297);
+            ruleEvent();
 
             state._fsp--;
 
-             after(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
 
             }
 
@@ -32344,29 +14560,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__NameAssignment_1"
+    // $ANTLR end "rule__Strategy__TriggeringEventsAssignment_8"
 
 
-    // $ANTLR start "rule__OclConstraint__OclStringAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12758:1: rule__OclConstraint__OclStringAssignment_4 : ( ruleEString ) ;
-    public final void rule__OclConstraint__OclStringAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__TacticsAssignment_11"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5717: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12762:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12763:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5721:1: ( ( ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5722:1: ( ruleWeightedTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12763:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12764:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5722:1: ( ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5723:1: ruleWeightedTactic
             {
-             before(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__OclConstraint__OclStringAssignment_425292);
-            ruleEString();
+             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1111328);
+            ruleWeightedTactic();
 
             state._fsp--;
 
-             after(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
 
             }
 
@@ -32385,29 +14601,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__OclConstraint__OclStringAssignment_4"
+    // $ANTLR end "rule__Strategy__TacticsAssignment_11"
 
 
-    // $ANTLR start "rule__Objective__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12773:1: rule__Objective__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__Objective__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__TacticsAssignment_12_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5732: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12777:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12778:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5736:1: ( ( ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5737:1: ( ruleWeightedTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12778:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12779:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5737:1: ( ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5738:1: ruleWeightedTactic
             {
-             before(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Objective__IdAssignment_125323);
-            ruleEString();
+             before(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_111359);
+            ruleWeightedTactic();
 
             state._fsp--;
 
-             after(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
 
             }
 
@@ -32426,29 +14642,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__IdAssignment_1"
+    // $ANTLR end "rule__Strategy__TacticsAssignment_12_1"
 
 
-    // $ANTLR start "rule__Objective__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12788:1: rule__Objective__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__Objective__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Strategy__WeightingFunctionAssignment_15"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5747: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12792:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12793:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5751:1: ( ( ruleWeightingFunction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5752:1: ( ruleWeightingFunction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12793:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12794:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5752:1: ( ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5753:1: ruleWeightingFunction
             {
-             before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Objective__NameAssignment_425354);
-            ruleEString();
+             before(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1511390);
+            ruleWeightingFunction();
 
             state._fsp--;
 
-             after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
 
             }
 
@@ -32467,29 +14683,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__NameAssignment_4"
+    // $ANTLR end "rule__Strategy__WeightingFunctionAssignment_15"
 
 
-    // $ANTLR start "rule__Objective__SpecificationAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12803:1: rule__Objective__SpecificationAssignment_6 : ( ruleEString ) ;
-    public final void rule__Objective__SpecificationAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__TypeAssignment_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5762:1: rule__Parameter__TypeAssignment_0 : ( ruleEString ) ;
+    public final void rule__Parameter__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12807:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12808:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5766:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5767:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12808:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12809:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5767:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5768:1: ruleEString
             {
-             before(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Objective__SpecificationAssignment_625385);
+             before(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_011421);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); 
+             after(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); 
 
             }
 
@@ -32508,29 +14724,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Objective__SpecificationAssignment_6"
+    // $ANTLR end "rule__Parameter__TypeAssignment_0"
 
 
-    // $ANTLR start "rule__Event__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12818:1: rule__Event__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__Event__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5777: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/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12822:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12823:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5781:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5782:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12823:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12824:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5782:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5783:1: ruleEString
             {
-             before(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Event__IdAssignment_125416);
+             before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_111452);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -32549,29 +14765,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__IdAssignment_1"
+    // $ANTLR end "rule__Parameter__NameAssignment_1"
 
 
-    // $ANTLR start "rule__Event__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12833:1: rule__Event__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__Event__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__DescriptionAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5792:1: rule__OverallGoal__DescriptionAssignment_2 : ( ruleEString ) ;
+    public final void rule__OverallGoal__DescriptionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12837:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12838:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5796:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5797:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12838:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12839:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5797:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5798:1: ruleEString
             {
-             before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__Event__NameAssignment_425447);
+             before(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_211483);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); 
 
             }
 
@@ -32590,29 +14806,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__Event__NameAssignment_4"
+    // $ANTLR end "rule__OverallGoal__DescriptionAssignment_2"
 
 
-    // $ANTLR start "rule__WeightedTactic__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12848:1: rule__WeightedTactic__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__WeightedTactic__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5807:1: rule__OverallGoal__ObjectivesAssignment_5 : ( ruleObjective ) ;
+    public final void rule__OverallGoal__ObjectivesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12852:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12853:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5811:1: ( ( ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5812:1: ( ruleObjective )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12853:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12854:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5812:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5813:1: ruleObjective
             {
-             before(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__IdAssignment_125478);
-            ruleEString();
+             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_511514);
+            ruleObjective();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); 
 
             }
 
@@ -32631,29 +14847,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__IdAssignment_1"
+    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_5"
 
 
-    // $ANTLR start "rule__WeightedTactic__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12863:1: rule__WeightedTactic__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__WeightedTactic__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__OverallGoal__ObjectivesAssignment_6_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5822:1: rule__OverallGoal__ObjectivesAssignment_6_1 : ( ruleObjective ) ;
+    public final void rule__OverallGoal__ObjectivesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12867:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12868:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5826:1: ( ( ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5827:1: ( ruleObjective )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12868:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12869:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5827:1: ( ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5828:1: ruleObjective
             {
-             before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_425509);
-            ruleEString();
+             before(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_6_111545);
+            ruleObjective();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); 
 
             }
 
@@ -32672,29 +14888,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__NameAssignment_4"
+    // $ANTLR end "rule__OverallGoal__ObjectivesAssignment_6_1"
 
 
-    // $ANTLR start "rule__WeightedTactic__CurrentWeightAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12878:1: rule__WeightedTactic__CurrentWeightAssignment_6 : ( ruleEDouble ) ;
-    public final void rule__WeightedTactic__CurrentWeightAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5837:1: rule__AdaptationPlan__StepsAssignment_0 : ( ruleStartAction ) ;
+    public final void rule__AdaptationPlan__StepsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12882:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12883:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5841:1: ( ( ruleStartAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5842:1: ( ruleStartAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12883:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12884:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5842:1: ( ruleStartAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5843:1: ruleStartAction
             {
-             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_625540);
-            ruleEDouble();
+             before(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_rule__AdaptationPlan__StepsAssignment_011576);
+            ruleStartAction();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+             after(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); 
 
             }
 
@@ -32713,29 +14929,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__CurrentWeightAssignment_6"
+    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_0"
 
 
-    // $ANTLR start "rule__WeightedTactic__DefaultWeightAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12893:1: rule__WeightedTactic__DefaultWeightAssignment_8 : ( ruleEDouble ) ;
-    public final void rule__WeightedTactic__DefaultWeightAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_1_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5852:1: rule__AdaptationPlan__StepsAssignment_1_1 : ( ruleAbstractControlFlowElement ) ;
+    public final void rule__AdaptationPlan__StepsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12897:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12898:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5856:1: ( ( ruleAbstractControlFlowElement ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5857:1: ( ruleAbstractControlFlowElement )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12898:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12899:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5857:1: ( ruleAbstractControlFlowElement )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5858:1: ruleAbstractControlFlowElement
             {
-             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_825571);
-            ruleEDouble();
+             before(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_1_111607);
+            ruleAbstractControlFlowElement();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+             after(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); 
 
             }
 
@@ -32754,37 +14970,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__DefaultWeightAssignment_8"
+    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_1_1"
 
 
-    // $ANTLR start "rule__WeightedTactic__UsedTacticAssignment_10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12908:1: rule__WeightedTactic__UsedTacticAssignment_10 : ( ( ruleEString ) ) ;
-    public final void rule__WeightedTactic__UsedTacticAssignment_10() throws RecognitionException {
+    // $ANTLR start "rule__AdaptationPlan__StepsAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5867:1: rule__AdaptationPlan__StepsAssignment_3 : ( ruleStopAction ) ;
+    public final void rule__AdaptationPlan__StepsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12912:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12913:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5871:1: ( ( ruleStopAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5872:1: ( ruleStopAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12913:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12914:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5872:1: ( ruleStopAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5873:1: ruleStopAction
             {
-             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12915:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12916:1: ruleEString
-            {
-             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_1025606);
-            ruleEString();
+             before(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_rule__AdaptationPlan__StepsAssignment_311638);
+            ruleStopAction();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_10_0_1()); 
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+             after(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); 
 
             }
 
@@ -32803,37 +15011,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__UsedTacticAssignment_10"
+    // $ANTLR end "rule__AdaptationPlan__StepsAssignment_3"
 
 
-    // $ANTLR start "rule__WeightedTactic__LastImpactAssignment_11_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12927:1: rule__WeightedTactic__LastImpactAssignment_11_1 : ( ( ruleEString ) ) ;
-    public final void rule__WeightedTactic__LastImpactAssignment_11_1() throws RecognitionException {
+    // $ANTLR start "rule__Objective__NameAssignment_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5882:1: rule__Objective__NameAssignment_1 : ( ruleEString ) ;
+    public final void rule__Objective__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12931:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12932:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5886:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5887:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12932:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12933:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5887:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5888:1: ruleEString
             {
-             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12934:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12935:1: ruleEString
-            {
-             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_11_125645);
+             before(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Objective__NameAssignment_111669);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_11_1_0_1()); 
-
-            }
-
-             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+             after(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); 
 
             }
 
@@ -32852,29 +15052,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedTactic__LastImpactAssignment_11_1"
+    // $ANTLR end "rule__Objective__NameAssignment_1"
 
 
-    // $ANTLR start "rule__WeightingFunction__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12946:1: rule__WeightingFunction__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__WeightingFunction__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__Objective__SpecificationAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5897:1: rule__Objective__SpecificationAssignment_3 : ( ruleEString ) ;
+    public final void rule__Objective__SpecificationAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12950:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12951:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5901:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5902:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12951:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12952:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5902:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5903:1: ruleEString
             {
-             before(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightingFunction__IdAssignment_125680);
+             before(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Objective__SpecificationAssignment_311700);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); 
 
             }
 
@@ -32893,29 +15093,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__IdAssignment_1"
+    // $ANTLR end "rule__Objective__SpecificationAssignment_3"
 
 
-    // $ANTLR start "rule__WeightingFunction__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12961:1: rule__WeightingFunction__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__WeightingFunction__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__Event__NameAssignment"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5912:1: rule__Event__NameAssignment : ( ruleEString ) ;
+    public final void rule__Event__NameAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12965:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12966:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5916:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5917:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12966:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12967:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5917:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5918:1: ruleEString
             {
-             before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_425711);
+             before(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Event__NameAssignment11731);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); 
 
             }
 
@@ -32934,29 +15134,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__NameAssignment_4"
+    // $ANTLR end "rule__Event__NameAssignment"
 
 
-    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_7"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12976:1: rule__WeightingFunction__WeightedMetricsAssignment_7 : ( ruleWeightedMetric ) ;
-    public final void rule__WeightingFunction__WeightedMetricsAssignment_7() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__NameAssignment_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5927:1: rule__WeightedTactic__NameAssignment_0 : ( ruleEString ) ;
+    public final void rule__WeightedTactic__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12980:1: ( ( ruleWeightedMetric ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12981:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5931:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5932:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12981:1: ( ruleWeightedMetric )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12982:1: ruleWeightedMetric
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5932:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5933:1: ruleEString
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_725742);
-            ruleWeightedMetric();
+             before(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_011762);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); 
 
             }
 
@@ -32975,29 +15175,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_7"
+    // $ANTLR end "rule__WeightedTactic__NameAssignment_0"
 
 
-    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_8_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12991:1: rule__WeightingFunction__WeightedMetricsAssignment_8_1 : ( ruleWeightedMetric ) ;
-    public final void rule__WeightingFunction__WeightedMetricsAssignment_8_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__UsedTacticAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5942:1: rule__WeightedTactic__UsedTacticAssignment_2 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedTactic__UsedTacticAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12995:1: ( ( ruleWeightedMetric ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12996:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5946:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5947:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12996:1: ( ruleWeightedMetric )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:12997:1: ruleWeightedMetric
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5947:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5948:1: ( ruleEString )
             {
-             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_8_125773);
-            ruleWeightedMetric();
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5949:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5950:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_2_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_211797);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticEStringParserRuleCall_2_0_1()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); 
 
             }
 
@@ -33016,29 +15224,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_8_1"
+    // $ANTLR end "rule__WeightedTactic__UsedTacticAssignment_2"
 
 
-    // $ANTLR start "rule__MetricValue__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13015:1: rule__MetricValue__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__MetricValue__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__CurrentWeightAssignment_3"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5961:1: rule__WeightedTactic__CurrentWeightAssignment_3 : ( ruleEDouble ) ;
+    public final void rule__WeightedTactic__CurrentWeightAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13019:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13020:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5965:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5966:1: ( ruleEDouble )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13020:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13021:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5966:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5967:1: ruleEDouble
             {
-             before(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__IdAssignment_125813);
-            ruleEString();
+             before(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_311832);
+            ruleEDouble();
 
             state._fsp--;
 
-             after(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); 
 
             }
 
@@ -33057,29 +15265,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__IdAssignment_1"
+    // $ANTLR end "rule__WeightedTactic__CurrentWeightAssignment_3"
 
 
-    // $ANTLR start "rule__MetricValue__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13030:1: rule__MetricValue__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__MetricValue__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__DefaultWeightAssignment_4"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5976:1: rule__WeightedTactic__DefaultWeightAssignment_4 : ( ruleEDouble ) ;
+    public final void rule__WeightedTactic__DefaultWeightAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13034:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13035:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5980:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5981:1: ( ruleEDouble )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13035:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13036:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5981:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5982:1: ruleEDouble
             {
-             before(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__NameAssignment_425844);
-            ruleEString();
+             before(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_411863);
+            ruleEDouble();
 
             state._fsp--;
 
-             after(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); 
 
             }
 
@@ -33098,29 +15306,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__NameAssignment_4"
+    // $ANTLR end "rule__WeightedTactic__DefaultWeightAssignment_4"
 
 
-    // $ANTLR start "rule__MetricValue__ValueAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13045:1: rule__MetricValue__ValueAssignment_6 : ( ruleEDouble ) ;
-    public final void rule__MetricValue__ValueAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__WeightedTactic__LastImpactAssignment_5_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5991:1: rule__WeightedTactic__LastImpactAssignment_5_1 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedTactic__LastImpactAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13049:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13050:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5995:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5996:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13050:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13051:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5996:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5997:1: ( ruleEString )
             {
-             before(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__MetricValue__ValueAssignment_625875);
-            ruleEDouble();
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5998:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:5999:1: ruleEString
+            {
+             before(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_5_1_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_5_111898);
+            ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactEStringParserRuleCall_5_1_0_1()); 
+
+            }
+
+             after(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); 
 
             }
 
@@ -33139,37 +15355,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__ValueAssignment_6"
+    // $ANTLR end "rule__WeightedTactic__LastImpactAssignment_5_1"
 
 
-    // $ANTLR start "rule__MetricValue__MeasuredEntityAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13060:1: rule__MetricValue__MeasuredEntityAssignment_8 : ( ( ruleEString ) ) ;
-    public final void rule__MetricValue__MeasuredEntityAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__NameAssignment_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6010:1: rule__WeightingFunction__NameAssignment_0 : ( ruleEString ) ;
+    public final void rule__WeightingFunction__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13064:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13065:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6014:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6015:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13065:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13066:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6015:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6016:1: ruleEString
             {
-             before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13067:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13068:1: ruleEString
-            {
-             before(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__MeasuredEntityAssignment_825910);
+             before(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_011933);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityEStringParserRuleCall_8_0_1()); 
-
-            }
-
-             after(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
+             after(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); 
 
             }
 
@@ -33188,37 +15396,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__MeasuredEntityAssignment_8"
+    // $ANTLR end "rule__WeightingFunction__NameAssignment_0"
 
 
-    // $ANTLR start "rule__MetricValue__MetricTypeAssignment_10"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13079:1: rule__MetricValue__MetricTypeAssignment_10 : ( ( ruleEString ) ) ;
-    public final void rule__MetricValue__MetricTypeAssignment_10() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6025:1: rule__WeightingFunction__WeightedMetricsAssignment_2 : ( ruleWeightedMetric ) ;
+    public final void rule__WeightingFunction__WeightedMetricsAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13083:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13084:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6029:1: ( ( ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6030:1: ( ruleWeightedMetric )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13084:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13085:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6030:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6031:1: ruleWeightedMetric
             {
-             before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13086:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13087:1: ruleEString
-            {
-             before(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__MetricValue__MetricTypeAssignment_1025949);
-            ruleEString();
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_211964);
+            ruleWeightedMetric();
 
             state._fsp--;
 
-             after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeEStringParserRuleCall_10_0_1()); 
-
-            }
-
-             after(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); 
 
             }
 
@@ -33237,29 +15437,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__MetricValue__MetricTypeAssignment_10"
+    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_2"
 
 
-    // $ANTLR start "rule__WeightedMetric__IdAssignment_1"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13104:1: rule__WeightedMetric__IdAssignment_1 : ( ruleEString ) ;
-    public final void rule__WeightedMetric__IdAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__WeightingFunction__WeightedMetricsAssignment_3_1"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6040:1: rule__WeightingFunction__WeightedMetricsAssignment_3_1 : ( ruleWeightedMetric ) ;
+    public final void rule__WeightingFunction__WeightedMetricsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13108:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13109:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6044:1: ( ( ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6045:1: ( ruleWeightedMetric )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13109:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13110:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6045:1: ( ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6046:1: ruleWeightedMetric
             {
-             before(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__IdAssignment_125990);
-            ruleEString();
+             before(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_3_111995);
+            ruleWeightedMetric();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); 
 
             }
 
@@ -33278,29 +15478,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__IdAssignment_1"
+    // $ANTLR end "rule__WeightingFunction__WeightedMetricsAssignment_3_1"
 
 
-    // $ANTLR start "rule__WeightedMetric__NameAssignment_4"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13119:1: rule__WeightedMetric__NameAssignment_4 : ( ruleEString ) ;
-    public final void rule__WeightedMetric__NameAssignment_4() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__NameAssignment_0"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6056:1: rule__WeightedMetric__NameAssignment_0 : ( ruleEString ) ;
+    public final void rule__WeightedMetric__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13123:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13124:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6060:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6061:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13124:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13125:1: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6061:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6062:1: ruleEString
             {
-             before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_426021);
+             before(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_012027);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); 
 
             }
 
@@ -33319,29 +15519,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__NameAssignment_4"
+    // $ANTLR end "rule__WeightedMetric__NameAssignment_0"
 
 
-    // $ANTLR start "rule__WeightedMetric__WeightAssignment_6"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13134:1: rule__WeightedMetric__WeightAssignment_6 : ( ruleEDouble ) ;
-    public final void rule__WeightedMetric__WeightAssignment_6() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__WeightAssignment_2"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6071:1: rule__WeightedMetric__WeightAssignment_2 : ( ruleEDouble ) ;
+    public final void rule__WeightedMetric__WeightAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13138:1: ( ( ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13139:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6075:1: ( ( ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6076:1: ( ruleEDouble )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13139:1: ( ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13140:1: ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6076:1: ( ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6077:1: ruleEDouble
             {
-             before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_626052);
+             before(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_212058);
             ruleEDouble();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); 
 
             }
 
@@ -33360,37 +15560,37 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__WeightAssignment_6"
+    // $ANTLR end "rule__WeightedMetric__WeightAssignment_2"
 
 
-    // $ANTLR start "rule__WeightedMetric__MetricTypeAssignment_8"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13149:1: rule__WeightedMetric__MetricTypeAssignment_8 : ( ( ruleEString ) ) ;
-    public final void rule__WeightedMetric__MetricTypeAssignment_8() throws RecognitionException {
+    // $ANTLR start "rule__WeightedMetric__MetricTypeAssignment_5"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6086:1: rule__WeightedMetric__MetricTypeAssignment_5 : ( ( ruleEString ) ) ;
+    public final void rule__WeightedMetric__MetricTypeAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13153:1: ( ( ( ruleEString ) ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13154:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6090:1: ( ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6091:1: ( ( ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13154:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13155:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6091:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6092:1: ( ruleEString )
             {
-             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13156:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:13157:1: ruleEString
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6093:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta.ui/src-gen/edu/kit/ipd/descartes/mm/adaptation/ui/contentassist/antlr/internal/InternalStaAdaptationLanguage.g:6094:1: ruleEString
             {
-             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_826087);
+             before(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_5_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_512093);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_8_0_1()); 
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeEStringParserRuleCall_5_0_1()); 
 
             }
 
-             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+             after(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); 
 
             }
 
@@ -33409,7 +15609,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         }
         return ;
     }
-    // $ANTLR end "rule__WeightedMetric__MetricTypeAssignment_8"
+    // $ANTLR end "rule__WeightedMetric__MetricTypeAssignment_5"
 
     // Delegated rules
 
@@ -33424,1129 +15624,519 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalContent
         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_ruleAdaptationPlan_in_entryRuleAdaptationPlan603 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan610 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan636 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction663 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction670 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__0_in_ruleStartAction696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction723 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__0_in_ruleStopAction756 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction783 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction790 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__0_in_ruleLoopAction816 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction843 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction850 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__0_in_ruleBranchAction876 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference903 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__0_in_ruleActionReference936 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEInt_in_entryRuleEInt963 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEInt970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EInt__Group__0_in_ruleEInt996 = 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_ruleEDate_in_entryRuleEDate1811 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEDate1818 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_13_in_ruleEDate1845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMetricValue_in_entryRuleMetricValue1873 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleMetricValue1880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__0_in_ruleMetricValue1906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric1937 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric1944 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric1970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives2007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives2024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives2041 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives2058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives2075 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePropertyRange_in_rule__VariationType__Alternatives2107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_rule__VariationType__Alternatives2124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives2156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives2173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_14_in_rule__EDouble__Alternatives_4_02206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_15_in_rule__EDouble__Alternatives_4_02226 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__02258 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__02261 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__AdaptationProcess__Group__0__Impl2289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__12320 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__12323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__IdAssignment_1_in_rule__AdaptationProcess__Group__1__Impl2350 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__22380 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__22383 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group__2__Impl2411 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__32442 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__32445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__AdaptationProcess__Group__3__Impl2473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__42504 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__42507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__NameAssignment_4_in_rule__AdaptationProcess__Group__4__Impl2534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52564 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_rule__AdaptationProcess__Group__5__Impl2595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62626 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62629 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group__6__Impl2657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72688 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2718 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82748 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2778 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92809 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__9__Impl2840 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102871 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__10__Impl2902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__112933 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__112936 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group__11__Impl2964 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__122995 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__122998 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_12_in_rule__AdaptationProcess__Group__12__Impl3025 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__133055 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__133058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__0_in_rule__AdaptationProcess__Group__13__Impl3085 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__143116 = new BitSet(new long[]{0x0000000000400000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__143119 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__14__Impl3147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__153178 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__153181 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_22_in_rule__AdaptationProcess__Group__15__Impl3209 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__163240 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__163243 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group__16__Impl3271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__173302 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__173305 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_17_in_rule__AdaptationProcess__Group__17__Impl3332 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__183362 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__19_in_rule__AdaptationProcess__Group__183365 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__0_in_rule__AdaptationProcess__Group__18__Impl3392 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__19__Impl_in_rule__AdaptationProcess__Group__193423 = new BitSet(new long[]{0x0000000002800000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__20_in_rule__AdaptationProcess__Group__193426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__19__Impl3454 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__20__Impl_in_rule__AdaptationProcess__Group__203485 = new BitSet(new long[]{0x0000000002800000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__21_in_rule__AdaptationProcess__Group__203488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__0_in_rule__AdaptationProcess__Group__20__Impl3515 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__21__Impl_in_rule__AdaptationProcess__Group__213546 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__22_in_rule__AdaptationProcess__Group__213549 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_23_in_rule__AdaptationProcess__Group__21__Impl3577 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__22__Impl_in_rule__AdaptationProcess__Group__223608 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__23_in_rule__AdaptationProcess__Group__223611 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__GoalAssignment_22_in_rule__AdaptationProcess__Group__22__Impl3638 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__23__Impl_in_rule__AdaptationProcess__Group__233668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__23__Impl3696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0__Impl_in_rule__AdaptationProcess__Group_8__03775 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__03778 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group_8__0__Impl3806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__13837 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl3864 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__0__Impl_in_rule__AdaptationProcess__Group_13__03898 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__1_in_rule__AdaptationProcess__Group_13__03901 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group_13__0__Impl3929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_13__1__Impl_in_rule__AdaptationProcess__Group_13__13960 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_13_1_in_rule__AdaptationProcess__Group_13__1__Impl3987 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__0__Impl_in_rule__AdaptationProcess__Group_18__04021 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__1_in_rule__AdaptationProcess__Group_18__04024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group_18__0__Impl4052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_18__1__Impl_in_rule__AdaptationProcess__Group_18__14083 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_18_1_in_rule__AdaptationProcess__Group_18__1__Impl4110 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__0__Impl_in_rule__AdaptationProcess__Group_20__04144 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__1_in_rule__AdaptationProcess__Group_20__04147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group_20__0__Impl4175 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__1__Impl_in_rule__AdaptationProcess__Group_20__14206 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__2_in_rule__AdaptationProcess__Group_20__14209 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationProcess__Group_20__1__Impl4237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__2__Impl_in_rule__AdaptationProcess__Group_20__24268 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__3_in_rule__AdaptationProcess__Group_20__24271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_2_in_rule__AdaptationProcess__Group_20__2__Impl4298 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__3__Impl_in_rule__AdaptationProcess__Group_20__34328 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__4_in_rule__AdaptationProcess__Group_20__34331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__0_in_rule__AdaptationProcess__Group_20__3__Impl4358 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20__4__Impl_in_rule__AdaptationProcess__Group_20__44389 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group_20__4__Impl4417 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__0__Impl_in_rule__AdaptationProcess__Group_20_3__04458 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__1_in_rule__AdaptationProcess__Group_20_3__04461 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group_20_3__0__Impl4489 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_20_3__1__Impl_in_rule__AdaptationProcess__Group_20_3__14520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_20_3_1_in_rule__AdaptationProcess__Group_20_3__1__Impl4547 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__04581 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__04584 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__Tactic__Group__0__Impl4612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__14643 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__14646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__IdAssignment_1_in_rule__Tactic__Group__1__Impl4673 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__24703 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__24706 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Tactic__Group__2__Impl4734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__34765 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__34768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__Tactic__Group__3__Impl4796 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__44827 = new BitSet(new long[]{0x0000000098000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__44830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__NameAssignment_4_in_rule__Tactic__Group__4__Impl4857 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__54887 = new BitSet(new long[]{0x0000000098000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__54890 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__0_in_rule__Tactic__Group__5__Impl4917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__64948 = new BitSet(new long[]{0x0000000098000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__64951 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_6__0_in_rule__Tactic__Group__6__Impl4978 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__75009 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__75012 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_27_in_rule__Tactic__Group__7__Impl5040 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__85071 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__9_in_rule__Tactic__Group__85074 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__ImplementedPlanAssignment_8_in_rule__Tactic__Group__8__Impl5101 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group__9__Impl_in_rule__Tactic__Group__95131 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Tactic__Group__9__Impl5159 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__0__Impl_in_rule__Tactic__Group_5__05210 = new BitSet(new long[]{0x0000000020000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__1_in_rule__Tactic__Group_5__05213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__Tactic__Group_5__0__Impl5241 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__1__Impl_in_rule__Tactic__Group_5__15272 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__2_in_rule__Tactic__Group_5__15275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__Tactic__Group_5__1__Impl5303 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__2__Impl_in_rule__Tactic__Group_5__25334 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__3_in_rule__Tactic__Group_5__25337 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_5_2_in_rule__Tactic__Group_5__2__Impl5364 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__3__Impl_in_rule__Tactic__Group_5__35394 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__4_in_rule__Tactic__Group_5__35397 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__0_in_rule__Tactic__Group_5__3__Impl5424 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5__4__Impl_in_rule__Tactic__Group_5__45455 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__Tactic__Group_5__4__Impl5483 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__0__Impl_in_rule__Tactic__Group_5_3__05524 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__1_in_rule__Tactic__Group_5_3__05527 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__Tactic__Group_5_3__0__Impl5555 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_5_3__1__Impl_in_rule__Tactic__Group_5_3__15586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_5_3_1_in_rule__Tactic__Group_5_3__1__Impl5613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_6__0__Impl_in_rule__Tactic__Group_6__05647 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_6__1_in_rule__Tactic__Group_6__05650 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__Tactic__Group_6__0__Impl5678 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__Group_6__1__Impl_in_rule__Tactic__Group_6__15709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Tactic__OutputParamAssignment_6_1_in_rule__Tactic__Group_6__1__Impl5736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__05770 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group__1_in_rule__Action__Group__05773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_rule__Action__Group__0__Impl5801 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__15832 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Action__Group__2_in_rule__Action__Group__15835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__IdAssignment_1_in_rule__Action__Group__1__Impl5862 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__25892 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Action__Group__3_in_rule__Action__Group__25895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Action__Group__2__Impl5923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__35954 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group__4_in_rule__Action__Group__35957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__Action__Group__3__Impl5985 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__46016 = new BitSet(new long[]{0x0000000290000000L});
-        public static final BitSet FOLLOW_rule__Action__Group__5_in_rule__Action__Group__46019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__NameAssignment_4_in_rule__Action__Group__4__Impl6046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__56076 = new BitSet(new long[]{0x0000000290000000L});
-        public static final BitSet FOLLOW_rule__Action__Group__6_in_rule__Action__Group__56079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_5__0_in_rule__Action__Group__5__Impl6106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__66137 = new BitSet(new long[]{0x0000000290000000L});
-        public static final BitSet FOLLOW_rule__Action__Group__7_in_rule__Action__Group__66140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__0_in_rule__Action__Group__6__Impl6167 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__76198 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group__8_in_rule__Action__Group__76201 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_33_in_rule__Action__Group__7__Impl6229 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__86260 = new BitSet(new long[]{0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__Action__Group__9_in_rule__Action__Group__86263 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__ReferredAdaptationPointAssignment_8_in_rule__Action__Group__8__Impl6290 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__96320 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_rule__Action__Group__10_in_rule__Action__Group__96323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_34_in_rule__Action__Group__9__Impl6351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__106382 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Action__Group__11_in_rule__Action__Group__106385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl6412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__116442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Action__Group__11__Impl6470 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_5__0__Impl_in_rule__Action__Group_5__06525 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group_5__1_in_rule__Action__Group_5__06528 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__Action__Group_5__0__Impl6556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_5__1__Impl_in_rule__Action__Group_5__16587 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__OutputParamAssignment_5_1_in_rule__Action__Group_5__1__Impl6614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__0__Impl_in_rule__Action__Group_6__06648 = new BitSet(new long[]{0x0000000020000000L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__1_in_rule__Action__Group_6__06651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__Action__Group_6__0__Impl6679 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__1__Impl_in_rule__Action__Group_6__16710 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__2_in_rule__Action__Group_6__16713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__Action__Group_6__1__Impl6741 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__2__Impl_in_rule__Action__Group_6__26772 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__3_in_rule__Action__Group_6__26775 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_6_2_in_rule__Action__Group_6__2__Impl6802 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__3__Impl_in_rule__Action__Group_6__36832 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__4_in_rule__Action__Group_6__36835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6_3__0_in_rule__Action__Group_6__3__Impl6862 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6__4__Impl_in_rule__Action__Group_6__46893 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__Action__Group_6__4__Impl6921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6_3__0__Impl_in_rule__Action__Group_6_3__06962 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Action__Group_6_3__1_in_rule__Action__Group_6_3__06965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__Action__Group_6_3__0__Impl6993 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__Group_6_3__1__Impl_in_rule__Action__Group_6_3__17024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_6_3_1_in_rule__Action__Group_6_3__1__Impl7051 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__07085 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__07088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_rule__Strategy__Group__0__Impl7116 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__17147 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__17150 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__IdAssignment_1_in_rule__Strategy__Group__1__Impl7177 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__27207 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__27210 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Strategy__Group__2__Impl7238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__37269 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__37272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__Strategy__Group__3__Impl7300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__47331 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__47334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__NameAssignment_4_in_rule__Strategy__Group__4__Impl7361 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__57391 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__57394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_rule__Strategy__Group__5__Impl7422 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__67453 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__67456 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__ObjectiveAssignment_6_in_rule__Strategy__Group__6__Impl7483 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__77513 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__77516 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__Strategy__Group__7__Impl7544 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__87575 = new BitSet(new long[]{0x0000000000080000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__87578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl7605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__97635 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__97638 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_rule__Strategy__Group__9__Impl7666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__107697 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__107700 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Strategy__Group__10__Impl7728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__117759 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__117762 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl7789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__127819 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__127822 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl7849 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__137880 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__137883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Strategy__Group__13__Impl7911 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__147942 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__147945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_38_in_rule__Strategy__Group__14__Impl7973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__158004 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__158007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl8034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__168064 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Strategy__Group__16__Impl8092 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group_12__0__Impl_in_rule__Strategy__Group_12__08157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__08160 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__Strategy__Group_12__0__Impl8188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__18219 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl8246 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08280 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_rule__Parameter__Group__0__Impl8311 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18342 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__2_in_rule__Parameter__Group__18345 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8372 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__2__Impl_in_rule__Parameter__Group__28402 = new BitSet(new long[]{0x0000010000000000L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__3_in_rule__Parameter__Group__28405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Parameter__Group__2__Impl8433 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__3__Impl_in_rule__Parameter__Group__38464 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__4_in_rule__Parameter__Group__38467 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__Parameter__Group__3__Impl8495 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__4__Impl_in_rule__Parameter__Group__48526 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__5_in_rule__Parameter__Group__48529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__TypeAssignment_4_in_rule__Parameter__Group__4__Impl8556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__5__Impl_in_rule__Parameter__Group__58586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Parameter__Group__5__Impl8614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__08657 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__08660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_rule__OverallGoal__Group__0__Impl8688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__18719 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__18722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__OverallGoal__Group__1__Impl8750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__28781 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__28784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_rule__OverallGoal__Group__2__Impl8812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__38843 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__38846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__DescriptionAssignment_3_in_rule__OverallGoal__Group__3__Impl8873 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__48903 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__48906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_rule__OverallGoal__Group__4__Impl8934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__58965 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__58968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__OverallGoal__Group__5__Impl8996 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__69027 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__7_in_rule__OverallGoal__Group__69030 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_in_rule__OverallGoal__Group__6__Impl9057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__7__Impl_in_rule__OverallGoal__Group__79087 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__8_in_rule__OverallGoal__Group__79090 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__0_in_rule__OverallGoal__Group__7__Impl9117 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__8__Impl_in_rule__OverallGoal__Group__89148 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__9_in_rule__OverallGoal__Group__89151 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__OverallGoal__Group__8__Impl9179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group__9__Impl_in_rule__OverallGoal__Group__99210 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__OverallGoal__Group__9__Impl9238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__0__Impl_in_rule__OverallGoal__Group_7__09289 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__1_in_rule__OverallGoal__Group_7__09292 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__OverallGoal__Group_7__0__Impl9320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__Group_7__1__Impl_in_rule__OverallGoal__Group_7__19351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_7_1_in_rule__OverallGoal__Group_7__1__Impl9378 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__09412 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__09415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_rule__AdaptationPlan__Group__0__Impl9443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__19474 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__19477 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__IdAssignment_1_in_rule__AdaptationPlan__Group__1__Impl9504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__29534 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__29537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationPlan__Group__2__Impl9565 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__39596 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__4_in_rule__AdaptationPlan__Group__39599 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__AdaptationPlan__Group__3__Impl9627 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__4__Impl_in_rule__AdaptationPlan__Group__49658 = new BitSet(new long[]{0x0000200000100000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__5_in_rule__AdaptationPlan__Group__49661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__NameAssignment_4_in_rule__AdaptationPlan__Group__4__Impl9688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__5__Impl_in_rule__AdaptationPlan__Group__59718 = new BitSet(new long[]{0x0000200000100000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__6_in_rule__AdaptationPlan__Group__59721 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__0_in_rule__AdaptationPlan__Group__5__Impl9748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__6__Impl_in_rule__AdaptationPlan__Group__69779 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationPlan__Group__6__Impl9807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__0__Impl_in_rule__AdaptationPlan__Group_5__09852 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__1_in_rule__AdaptationPlan__Group_5__09855 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__AdaptationPlan__Group_5__0__Impl9883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__1__Impl_in_rule__AdaptationPlan__Group_5__19914 = new BitSet(new long[]{0x0426400000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__2_in_rule__AdaptationPlan__Group_5__19917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationPlan__Group_5__1__Impl9945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__2__Impl_in_rule__AdaptationPlan__Group_5__29976 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__3_in_rule__AdaptationPlan__Group_5__29979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_5_2_in_rule__AdaptationPlan__Group_5__2__Impl10006 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__3__Impl_in_rule__AdaptationPlan__Group_5__310036 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__4_in_rule__AdaptationPlan__Group_5__310039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__0_in_rule__AdaptationPlan__Group_5__3__Impl10066 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5__4__Impl_in_rule__AdaptationPlan__Group_5__410097 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationPlan__Group_5__4__Impl10125 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__0__Impl_in_rule__AdaptationPlan__Group_5_3__010166 = new BitSet(new long[]{0x0426400000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__1_in_rule__AdaptationPlan__Group_5_3__010169 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AdaptationPlan__Group_5_3__0__Impl10197 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_5_3__1__Impl_in_rule__AdaptationPlan__Group_5_3__110228 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_5_3_1_in_rule__AdaptationPlan__Group_5_3__1__Impl10255 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__010289 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__010292 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__110350 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__2_in_rule__StartAction__Group__110353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__StartAction__Group__1__Impl10381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__2__Impl_in_rule__StartAction__Group__210412 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__3_in_rule__StartAction__Group__210415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__IdAssignment_2_in_rule__StartAction__Group__2__Impl10442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__3__Impl_in_rule__StartAction__Group__310472 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__4_in_rule__StartAction__Group__310475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__StartAction__Group__3__Impl10503 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__4__Impl_in_rule__StartAction__Group__410534 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__5_in_rule__StartAction__Group__410537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_4__0_in_rule__StartAction__Group__4__Impl10564 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__5__Impl_in_rule__StartAction__Group__510595 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__6_in_rule__StartAction__Group__510598 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_5__0_in_rule__StartAction__Group__5__Impl10625 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group__6__Impl_in_rule__StartAction__Group__610656 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__StartAction__Group__6__Impl10684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_4__0__Impl_in_rule__StartAction__Group_4__010729 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_4__1_in_rule__StartAction__Group_4__010732 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__StartAction__Group_4__0__Impl10760 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_4__1__Impl_in_rule__StartAction__Group_4__110791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__PredecessorAssignment_4_1_in_rule__StartAction__Group_4__1__Impl10818 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_5__0__Impl_in_rule__StartAction__Group_5__010852 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_5__1_in_rule__StartAction__Group_5__010855 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__StartAction__Group_5__0__Impl10883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__Group_5__1__Impl_in_rule__StartAction__Group_5__110914 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StartAction__SuccessorAssignment_5_1_in_rule__StartAction__Group_5__1__Impl10941 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__0__Impl_in_rule__StopAction__Group__010975 = new BitSet(new long[]{0x0002000000000000L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__1_in_rule__StopAction__Group__010978 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__1__Impl_in_rule__StopAction__Group__111036 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__2_in_rule__StopAction__Group__111039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_rule__StopAction__Group__1__Impl11067 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__2__Impl_in_rule__StopAction__Group__211098 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__3_in_rule__StopAction__Group__211101 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__IdAssignment_2_in_rule__StopAction__Group__2__Impl11128 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__3__Impl_in_rule__StopAction__Group__311158 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__4_in_rule__StopAction__Group__311161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__StopAction__Group__3__Impl11189 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__4__Impl_in_rule__StopAction__Group__411220 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__5_in_rule__StopAction__Group__411223 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_4__0_in_rule__StopAction__Group__4__Impl11250 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__5__Impl_in_rule__StopAction__Group__511281 = new BitSet(new long[]{0x0001800000100000L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__6_in_rule__StopAction__Group__511284 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_5__0_in_rule__StopAction__Group__5__Impl11311 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group__6__Impl_in_rule__StopAction__Group__611342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__StopAction__Group__6__Impl11370 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_4__0__Impl_in_rule__StopAction__Group_4__011415 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_4__1_in_rule__StopAction__Group_4__011418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__StopAction__Group_4__0__Impl11446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_4__1__Impl_in_rule__StopAction__Group_4__111477 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__PredecessorAssignment_4_1_in_rule__StopAction__Group_4__1__Impl11504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_5__0__Impl_in_rule__StopAction__Group_5__011538 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_5__1_in_rule__StopAction__Group_5__011541 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__StopAction__Group_5__0__Impl11569 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__Group_5__1__Impl_in_rule__StopAction__Group_5__111600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StopAction__SuccessorAssignment_5_1_in_rule__StopAction__Group_5__1__Impl11627 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__0__Impl_in_rule__LoopAction__Group__011661 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__1_in_rule__LoopAction__Group__011664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__LoopAction__Group__0__Impl11692 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__1__Impl_in_rule__LoopAction__Group__111723 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__2_in_rule__LoopAction__Group__111726 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__IdAssignment_1_in_rule__LoopAction__Group__1__Impl11753 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__2__Impl_in_rule__LoopAction__Group__211783 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__3_in_rule__LoopAction__Group__211786 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__LoopAction__Group__2__Impl11814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__3__Impl_in_rule__LoopAction__Group__311845 = new BitSet(new long[]{0x1000000000000040L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__4_in_rule__LoopAction__Group__311848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__LoopAction__Group__3__Impl11876 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__4__Impl_in_rule__LoopAction__Group__411907 = new BitSet(new long[]{0x0011800000000000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__5_in_rule__LoopAction__Group__411910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__CounterAssignment_4_in_rule__LoopAction__Group__4__Impl11937 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__5__Impl_in_rule__LoopAction__Group__511967 = new BitSet(new long[]{0x0011800000000000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__6_in_rule__LoopAction__Group__511970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_5__0_in_rule__LoopAction__Group__5__Impl11997 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__6__Impl_in_rule__LoopAction__Group__612028 = new BitSet(new long[]{0x0011800000000000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__7_in_rule__LoopAction__Group__612031 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_6__0_in_rule__LoopAction__Group__6__Impl12058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__7__Impl_in_rule__LoopAction__Group__712089 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__8_in_rule__LoopAction__Group__712092 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_rule__LoopAction__Group__7__Impl12120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__8__Impl_in_rule__LoopAction__Group__812151 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__9_in_rule__LoopAction__Group__812154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__BodyAssignment_8_in_rule__LoopAction__Group__8__Impl12181 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group__9__Impl_in_rule__LoopAction__Group__912211 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__LoopAction__Group__9__Impl12239 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_5__0__Impl_in_rule__LoopAction__Group_5__012290 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_5__1_in_rule__LoopAction__Group_5__012293 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__LoopAction__Group_5__0__Impl12321 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_5__1__Impl_in_rule__LoopAction__Group_5__112352 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__PredecessorAssignment_5_1_in_rule__LoopAction__Group_5__1__Impl12379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_6__0__Impl_in_rule__LoopAction__Group_6__012413 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_6__1_in_rule__LoopAction__Group_6__012416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__LoopAction__Group_6__0__Impl12444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__Group_6__1__Impl_in_rule__LoopAction__Group_6__112475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LoopAction__SuccessorAssignment_6_1_in_rule__LoopAction__Group_6__1__Impl12502 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__0__Impl_in_rule__BranchAction__Group__012536 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__1_in_rule__BranchAction__Group__012539 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__BranchAction__Group__0__Impl12567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__1__Impl_in_rule__BranchAction__Group__112598 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__2_in_rule__BranchAction__Group__112601 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__IdAssignment_1_in_rule__BranchAction__Group__1__Impl12628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__2__Impl_in_rule__BranchAction__Group__212658 = new BitSet(new long[]{0x0341800000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__3_in_rule__BranchAction__Group__212661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__BranchAction__Group__2__Impl12689 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__3__Impl_in_rule__BranchAction__Group__312720 = new BitSet(new long[]{0x0341800000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__4_in_rule__BranchAction__Group__312723 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_3__0_in_rule__BranchAction__Group__3__Impl12750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__4__Impl_in_rule__BranchAction__Group__412781 = new BitSet(new long[]{0x0341800000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__5_in_rule__BranchAction__Group__412784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_4__0_in_rule__BranchAction__Group__4__Impl12811 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__5__Impl_in_rule__BranchAction__Group__512842 = new BitSet(new long[]{0x0341800000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__6_in_rule__BranchAction__Group__512845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_5__0_in_rule__BranchAction__Group__5__Impl12872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__6__Impl_in_rule__BranchAction__Group__612903 = new BitSet(new long[]{0x0341800000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__7_in_rule__BranchAction__Group__612906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_6__0_in_rule__BranchAction__Group__6__Impl12933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__7__Impl_in_rule__BranchAction__Group__712964 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__8_in_rule__BranchAction__Group__712967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_rule__BranchAction__Group__7__Impl12995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__8__Impl_in_rule__BranchAction__Group__813026 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__9_in_rule__BranchAction__Group__813029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__ConditionTrueBranchAssignment_8_in_rule__BranchAction__Group__8__Impl13056 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__9__Impl_in_rule__BranchAction__Group__913086 = new BitSet(new long[]{0x0000100000000000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__10_in_rule__BranchAction__Group__913089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_rule__BranchAction__Group__9__Impl13117 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__10__Impl_in_rule__BranchAction__Group__1013148 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__11_in_rule__BranchAction__Group__1013151 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__ConditionFalseBranchAssignment_10_in_rule__BranchAction__Group__10__Impl13178 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group__11__Impl_in_rule__BranchAction__Group__1113208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__BranchAction__Group__11__Impl13236 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_3__0__Impl_in_rule__BranchAction__Group_3__013291 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_3__1_in_rule__BranchAction__Group_3__013294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_rule__BranchAction__Group_3__0__Impl13322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_3__1__Impl_in_rule__BranchAction__Group_3__113353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__ConditionAssignment_3_1_in_rule__BranchAction__Group_3__1__Impl13380 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_4__0__Impl_in_rule__BranchAction__Group_4__013414 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_4__1_in_rule__BranchAction__Group_4__013417 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__BranchAction__Group_4__0__Impl13445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_4__1__Impl_in_rule__BranchAction__Group_4__113476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__PredecessorAssignment_4_1_in_rule__BranchAction__Group_4__1__Impl13503 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_5__0__Impl_in_rule__BranchAction__Group_5__013537 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_5__1_in_rule__BranchAction__Group_5__013540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__BranchAction__Group_5__0__Impl13568 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_5__1__Impl_in_rule__BranchAction__Group_5__113599 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__SuccessorAssignment_5_1_in_rule__BranchAction__Group_5__1__Impl13626 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_6__0__Impl_in_rule__BranchAction__Group_6__013660 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_6__1_in_rule__BranchAction__Group_6__013663 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_rule__BranchAction__Group_6__0__Impl13691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__Group_6__1__Impl_in_rule__BranchAction__Group_6__113722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BranchAction__ContextAssignment_6_1_in_rule__BranchAction__Group_6__1__Impl13749 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__0__Impl_in_rule__ActionReference__Group__013783 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__1_in_rule__ActionReference__Group__013786 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rule__ActionReference__Group__0__Impl13814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__1__Impl_in_rule__ActionReference__Group__113845 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__2_in_rule__ActionReference__Group__113848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__IdAssignment_1_in_rule__ActionReference__Group__1__Impl13875 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__2__Impl_in_rule__ActionReference__Group__213905 = new BitSet(new long[]{0x0801800000000000L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__3_in_rule__ActionReference__Group__213908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ActionReference__Group__2__Impl13936 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__3__Impl_in_rule__ActionReference__Group__313967 = new BitSet(new long[]{0x0801800000000000L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__4_in_rule__ActionReference__Group__313970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_3__0_in_rule__ActionReference__Group__3__Impl13997 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__4__Impl_in_rule__ActionReference__Group__414028 = new BitSet(new long[]{0x0801800000000000L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__5_in_rule__ActionReference__Group__414031 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_4__0_in_rule__ActionReference__Group__4__Impl14058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__5__Impl_in_rule__ActionReference__Group__514089 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__6_in_rule__ActionReference__Group__514092 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__ActionReference__Group__5__Impl14120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__6__Impl_in_rule__ActionReference__Group__614151 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__7_in_rule__ActionReference__Group__614154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__RefersToAssignment_6_in_rule__ActionReference__Group__6__Impl14181 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group__7__Impl_in_rule__ActionReference__Group__714211 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ActionReference__Group__7__Impl14239 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_3__0__Impl_in_rule__ActionReference__Group_3__014286 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_3__1_in_rule__ActionReference__Group_3__014289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__ActionReference__Group_3__0__Impl14317 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_3__1__Impl_in_rule__ActionReference__Group_3__114348 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__PredecessorAssignment_3_1_in_rule__ActionReference__Group_3__1__Impl14375 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_4__0__Impl_in_rule__ActionReference__Group_4__014409 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_4__1_in_rule__ActionReference__Group_4__014412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__ActionReference__Group_4__0__Impl14440 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__Group_4__1__Impl_in_rule__ActionReference__Group_4__114471 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ActionReference__SuccessorAssignment_4_1_in_rule__ActionReference__Group_4__1__Impl14498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EInt__Group__0__Impl_in_rule__EInt__Group__014532 = new BitSet(new long[]{0x1000000000000040L});
-        public static final BitSet FOLLOW_rule__EInt__Group__1_in_rule__EInt__Group__014535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__EInt__Group__0__Impl14564 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EInt__Group__1__Impl_in_rule__EInt__Group__114597 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EInt__Group__1__Impl14624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__0__Impl_in_rule__AdaptationActionOperation__Group__014657 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__1_in_rule__AdaptationActionOperation__Group__014660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__AdaptationActionOperation__Group__0__Impl14688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__1__Impl_in_rule__AdaptationActionOperation__Group__114719 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__2_in_rule__AdaptationActionOperation__Group__114722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__AdaptationActionOperation__Group__1__Impl14750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__2__Impl_in_rule__AdaptationActionOperation__Group__214781 = new BitSet(new long[]{0x0000000000000800L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__3_in_rule__AdaptationActionOperation__Group__214784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_rule__AdaptationActionOperation__Group__2__Impl14812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__3__Impl_in_rule__AdaptationActionOperation__Group__314843 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__4_in_rule__AdaptationActionOperation__Group__314846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_3_in_rule__AdaptationActionOperation__Group__3__Impl14873 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__4__Impl_in_rule__AdaptationActionOperation__Group__414903 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__5_in_rule__AdaptationActionOperation__Group__414906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__AdaptationActionOperation__Group__4__Impl14934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__5__Impl_in_rule__AdaptationActionOperation__Group__514965 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__6_in_rule__AdaptationActionOperation__Group__514968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_5_in_rule__AdaptationActionOperation__Group__5__Impl14995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AdaptationActionOperation__Group__6__Impl_in_rule__AdaptationActionOperation__Group__615025 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AdaptationActionOperation__Group__6__Impl15053 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__0__Impl_in_rule__ModelVariableConfigurationRange__Group__015098 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__1_in_rule__ModelVariableConfigurationRange__Group__015101 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_64_in_rule__ModelVariableConfigurationRange__Group__0__Impl15129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__1__Impl_in_rule__ModelVariableConfigurationRange__Group__115160 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__2_in_rule__ModelVariableConfigurationRange__Group__115163 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__IdAssignment_1_in_rule__ModelVariableConfigurationRange__Group__1__Impl15190 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__2__Impl_in_rule__ModelVariableConfigurationRange__Group__215220 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__3_in_rule__ModelVariableConfigurationRange__Group__215223 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ModelVariableConfigurationRange__Group__2__Impl15251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__3__Impl_in_rule__ModelVariableConfigurationRange__Group__315282 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__4_in_rule__ModelVariableConfigurationRange__Group__315285 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__ModelVariableConfigurationRange__Group__3__Impl15313 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__4__Impl_in_rule__ModelVariableConfigurationRange__Group__415344 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__5_in_rule__ModelVariableConfigurationRange__Group__415347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__NameAssignment_4_in_rule__ModelVariableConfigurationRange__Group__4__Impl15374 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__5__Impl_in_rule__ModelVariableConfigurationRange__Group__515404 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__6_in_rule__ModelVariableConfigurationRange__Group__515407 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_rule__ModelVariableConfigurationRange__Group__5__Impl15435 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__6__Impl_in_rule__ModelVariableConfigurationRange__Group__615466 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__7_in_rule__ModelVariableConfigurationRange__Group__615469 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__MinValueAssignment_6_in_rule__ModelVariableConfigurationRange__Group__6__Impl15496 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__7__Impl_in_rule__ModelVariableConfigurationRange__Group__715526 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__8_in_rule__ModelVariableConfigurationRange__Group__715529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rule__ModelVariableConfigurationRange__Group__7__Impl15557 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__8__Impl_in_rule__ModelVariableConfigurationRange__Group__815588 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__9_in_rule__ModelVariableConfigurationRange__Group__815591 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__MaxValueAssignment_8_in_rule__ModelVariableConfigurationRange__Group__8__Impl15618 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__9__Impl_in_rule__ModelVariableConfigurationRange__Group__915648 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__10_in_rule__ModelVariableConfigurationRange__Group__915651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_67_in_rule__ModelVariableConfigurationRange__Group__9__Impl15679 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__10__Impl_in_rule__ModelVariableConfigurationRange__Group__1015710 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__11_in_rule__ModelVariableConfigurationRange__Group__1015713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_10_in_rule__ModelVariableConfigurationRange__Group__10__Impl15740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelVariableConfigurationRange__Group__11__Impl_in_rule__ModelVariableConfigurationRange__Group__1115770 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ModelVariableConfigurationRange__Group__11__Impl15798 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__0__Impl_in_rule__ModelEntityConfigurationRange__Group__015853 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__1_in_rule__ModelEntityConfigurationRange__Group__015856 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_68_in_rule__ModelEntityConfigurationRange__Group__0__Impl15884 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__1__Impl_in_rule__ModelEntityConfigurationRange__Group__115915 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__2_in_rule__ModelEntityConfigurationRange__Group__115918 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__IdAssignment_1_in_rule__ModelEntityConfigurationRange__Group__1__Impl15945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__2__Impl_in_rule__ModelEntityConfigurationRange__Group__215975 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__3_in_rule__ModelEntityConfigurationRange__Group__215978 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__ModelEntityConfigurationRange__Group__2__Impl16006 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__3__Impl_in_rule__ModelEntityConfigurationRange__Group__316037 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__4_in_rule__ModelEntityConfigurationRange__Group__316040 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__ModelEntityConfigurationRange__Group__3__Impl16068 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__4__Impl_in_rule__ModelEntityConfigurationRange__Group__416099 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__5_in_rule__ModelEntityConfigurationRange__Group__416102 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__NameAssignment_4_in_rule__ModelEntityConfigurationRange__Group__4__Impl16129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__5__Impl_in_rule__ModelEntityConfigurationRange__Group__516159 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__6_in_rule__ModelEntityConfigurationRange__Group__516162 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_67_in_rule__ModelEntityConfigurationRange__Group__5__Impl16190 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__6__Impl_in_rule__ModelEntityConfigurationRange__Group__616221 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__7_in_rule__ModelEntityConfigurationRange__Group__616224 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_6_in_rule__ModelEntityConfigurationRange__Group__6__Impl16251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__7__Impl_in_rule__ModelEntityConfigurationRange__Group__716281 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000480L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__8_in_rule__ModelEntityConfigurationRange__Group__716284 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_69_in_rule__ModelEntityConfigurationRange__Group__7__Impl16312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__8__Impl_in_rule__ModelEntityConfigurationRange__Group__816343 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__9_in_rule__ModelEntityConfigurationRange__Group__816346 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_8_in_rule__ModelEntityConfigurationRange__Group__8__Impl16373 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelEntityConfigurationRange__Group__9__Impl_in_rule__ModelEntityConfigurationRange__Group__916403 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ModelEntityConfigurationRange__Group__9__Impl16431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__016482 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__016485 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__EDouble__Group__0__Impl16514 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__116547 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__116550 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl16578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__216609 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__216612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__EDouble__Group__2__Impl16640 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__316671 = new BitSet(new long[]{0x000000000000C000L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__316674 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl16701 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__416730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl16757 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__016798 = new BitSet(new long[]{0x1000000000000040L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__016801 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl16828 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__116858 = new BitSet(new long[]{0x1000000000000040L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__116861 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__EDouble__Group_4__1__Impl16890 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__216923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl16950 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__0__Impl_in_rule__PropertyRange__Group__016985 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__1_in_rule__PropertyRange__Group__016988 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_71_in_rule__PropertyRange__Group__0__Impl17016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__1__Impl_in_rule__PropertyRange__Group__117047 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__2_in_rule__PropertyRange__Group__117050 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__PropertyRange__Group__1__Impl17078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__2__Impl_in_rule__PropertyRange__Group__217109 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__3_in_rule__PropertyRange__Group__217112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_72_in_rule__PropertyRange__Group__2__Impl17140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__3__Impl_in_rule__PropertyRange__Group__317171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__4_in_rule__PropertyRange__Group__317174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__MinValueConstraintAssignment_3_in_rule__PropertyRange__Group__3__Impl17201 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__4__Impl_in_rule__PropertyRange__Group__417231 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__5_in_rule__PropertyRange__Group__417234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_73_in_rule__PropertyRange__Group__4__Impl17262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__5__Impl_in_rule__PropertyRange__Group__517293 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__6_in_rule__PropertyRange__Group__517296 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__MaxValueConstraintAssignment_5_in_rule__PropertyRange__Group__5__Impl17323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PropertyRange__Group__6__Impl_in_rule__PropertyRange__Group__617353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__PropertyRange__Group__6__Impl17381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__0__Impl_in_rule__SetOfConfigurations__Group__017426 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__1_in_rule__SetOfConfigurations__Group__017429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_74_in_rule__SetOfConfigurations__Group__0__Impl17457 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__1__Impl_in_rule__SetOfConfigurations__Group__117488 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001800L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__2_in_rule__SetOfConfigurations__Group__117491 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__SetOfConfigurations__Group__1__Impl17519 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__2__Impl_in_rule__SetOfConfigurations__Group__217550 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001800L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__3_in_rule__SetOfConfigurations__Group__217553 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__0_in_rule__SetOfConfigurations__Group__2__Impl17580 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__3__Impl_in_rule__SetOfConfigurations__Group__317611 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__4_in_rule__SetOfConfigurations__Group__317614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_75_in_rule__SetOfConfigurations__Group__3__Impl17642 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__4__Impl_in_rule__SetOfConfigurations__Group__417673 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__5_in_rule__SetOfConfigurations__Group__417676 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__ValueConstraintAssignment_4_in_rule__SetOfConfigurations__Group__4__Impl17703 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group__5__Impl_in_rule__SetOfConfigurations__Group__517733 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__SetOfConfigurations__Group__5__Impl17761 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__0__Impl_in_rule__SetOfConfigurations__Group_2__017804 = new BitSet(new long[]{0x0000000020000000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__1_in_rule__SetOfConfigurations__Group_2__017807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_76_in_rule__SetOfConfigurations__Group_2__0__Impl17835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__1__Impl_in_rule__SetOfConfigurations__Group_2__117866 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__2_in_rule__SetOfConfigurations__Group_2__117869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__SetOfConfigurations__Group_2__1__Impl17897 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__2__Impl_in_rule__SetOfConfigurations__Group_2__217928 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__3_in_rule__SetOfConfigurations__Group_2__217931 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_2_in_rule__SetOfConfigurations__Group_2__2__Impl17958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__3__Impl_in_rule__SetOfConfigurations__Group_2__317988 = new BitSet(new long[]{0x0000000041000000L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__4_in_rule__SetOfConfigurations__Group_2__317991 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__0_in_rule__SetOfConfigurations__Group_2__3__Impl18018 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2__4__Impl_in_rule__SetOfConfigurations__Group_2__418049 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__SetOfConfigurations__Group_2__4__Impl18077 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__0__Impl_in_rule__SetOfConfigurations__Group_2_3__018118 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__1_in_rule__SetOfConfigurations__Group_2_3__018121 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__SetOfConfigurations__Group_2_3__0__Impl18149 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__Group_2_3__1__Impl_in_rule__SetOfConfigurations__Group_2_3__118180 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SetOfConfigurations__VariantsAssignment_2_3_1_in_rule__SetOfConfigurations__Group_2_3__1__Impl18207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__0__Impl_in_rule__OclConstraint__Group__018241 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__1_in_rule__OclConstraint__Group__018244 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_77_in_rule__OclConstraint__Group__0__Impl18272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__1__Impl_in_rule__OclConstraint__Group__118303 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__2_in_rule__OclConstraint__Group__118306 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__NameAssignment_1_in_rule__OclConstraint__Group__1__Impl18333 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__2__Impl_in_rule__OclConstraint__Group__218363 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__3_in_rule__OclConstraint__Group__218366 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__OclConstraint__Group__2__Impl18394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__3__Impl_in_rule__OclConstraint__Group__318425 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__4_in_rule__OclConstraint__Group__318428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_78_in_rule__OclConstraint__Group__3__Impl18456 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__4__Impl_in_rule__OclConstraint__Group__418487 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__5_in_rule__OclConstraint__Group__418490 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__OclStringAssignment_4_in_rule__OclConstraint__Group__4__Impl18517 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OclConstraint__Group__5__Impl_in_rule__OclConstraint__Group__518547 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__OclConstraint__Group__5__Impl18575 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__018618 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__018621 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_79_in_rule__Objective__Group__0__Impl18649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__118680 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__118683 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__IdAssignment_1_in_rule__Objective__Group__1__Impl18710 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__218740 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__218743 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Objective__Group__2__Impl18771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__318802 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Objective__Group__4_in_rule__Objective__Group__318805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__Objective__Group__3__Impl18833 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__4__Impl_in_rule__Objective__Group__418864 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
-        public static final BitSet FOLLOW_rule__Objective__Group__5_in_rule__Objective__Group__418867 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__NameAssignment_4_in_rule__Objective__Group__4__Impl18894 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__5__Impl_in_rule__Objective__Group__518924 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Objective__Group__6_in_rule__Objective__Group__518927 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_rule__Objective__Group__5__Impl18955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__6__Impl_in_rule__Objective__Group__618986 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Objective__Group__7_in_rule__Objective__Group__618989 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__SpecificationAssignment_6_in_rule__Objective__Group__6__Impl19016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Objective__Group__7__Impl_in_rule__Objective__Group__719046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Objective__Group__7__Impl19074 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__0__Impl_in_rule__Event__Group__019121 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Event__Group__1_in_rule__Event__Group__019124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_rule__Event__Group__0__Impl19152 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__1__Impl_in_rule__Event__Group__119183 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__Event__Group__2_in_rule__Event__Group__119186 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__IdAssignment_1_in_rule__Event__Group__1__Impl19213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__2__Impl_in_rule__Event__Group__219243 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__Event__Group__3_in_rule__Event__Group__219246 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__Event__Group__2__Impl19274 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__3__Impl_in_rule__Event__Group__319305 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Event__Group__4_in_rule__Event__Group__319308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__Event__Group__3__Impl19336 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__4__Impl_in_rule__Event__Group__419367 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Event__Group__5_in_rule__Event__Group__419370 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__NameAssignment_4_in_rule__Event__Group__4__Impl19397 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Event__Group__5__Impl_in_rule__Event__Group__519427 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Event__Group__5__Impl19455 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__019498 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__019501 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_82_in_rule__WeightedTactic__Group__0__Impl19529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__119560 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__119563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__IdAssignment_1_in_rule__WeightedTactic__Group__1__Impl19590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__219620 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__219623 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__WeightedTactic__Group__2__Impl19651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__319682 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__319685 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__WeightedTactic__Group__3__Impl19713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__419744 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__419747 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__NameAssignment_4_in_rule__WeightedTactic__Group__4__Impl19774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__519804 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__6_in_rule__WeightedTactic__Group__519807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_83_in_rule__WeightedTactic__Group__5__Impl19835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__6__Impl_in_rule__WeightedTactic__Group__619866 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__7_in_rule__WeightedTactic__Group__619869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_6_in_rule__WeightedTactic__Group__6__Impl19896 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__7__Impl_in_rule__WeightedTactic__Group__719926 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__8_in_rule__WeightedTactic__Group__719929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_rule__WeightedTactic__Group__7__Impl19957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__8__Impl_in_rule__WeightedTactic__Group__819988 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__9_in_rule__WeightedTactic__Group__819991 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_8_in_rule__WeightedTactic__Group__8__Impl20018 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__9__Impl_in_rule__WeightedTactic__Group__920048 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__10_in_rule__WeightedTactic__Group__920051 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_85_in_rule__WeightedTactic__Group__9__Impl20079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__10__Impl_in_rule__WeightedTactic__Group__1020110 = new BitSet(new long[]{0x0000000000100000L,0x0000000000400000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__11_in_rule__WeightedTactic__Group__1020113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__UsedTacticAssignment_10_in_rule__WeightedTactic__Group__10__Impl20140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__11__Impl_in_rule__WeightedTactic__Group__1120170 = new BitSet(new long[]{0x0000000000100000L,0x0000000000400000L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__12_in_rule__WeightedTactic__Group__1120173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__0_in_rule__WeightedTactic__Group__11__Impl20200 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group__12__Impl_in_rule__WeightedTactic__Group__1220231 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__WeightedTactic__Group__12__Impl20259 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__0__Impl_in_rule__WeightedTactic__Group_11__020316 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__1_in_rule__WeightedTactic__Group_11__020319 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_rule__WeightedTactic__Group_11__0__Impl20347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__Group_11__1__Impl_in_rule__WeightedTactic__Group_11__120378 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedTactic__LastImpactAssignment_11_1_in_rule__WeightedTactic__Group_11__1__Impl20405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__020439 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__020442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_87_in_rule__WeightingFunction__Group__0__Impl20470 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__120501 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__120504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__IdAssignment_1_in_rule__WeightingFunction__Group__1__Impl20531 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__220561 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__220564 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__WeightingFunction__Group__2__Impl20592 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__320623 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__320626 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__WeightingFunction__Group__3__Impl20654 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__420685 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__5_in_rule__WeightingFunction__Group__420688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__NameAssignment_4_in_rule__WeightingFunction__Group__4__Impl20715 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__5__Impl_in_rule__WeightingFunction__Group__520745 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__6_in_rule__WeightingFunction__Group__520748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_88_in_rule__WeightingFunction__Group__5__Impl20776 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__6__Impl_in_rule__WeightingFunction__Group__620807 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__7_in_rule__WeightingFunction__Group__620810 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__WeightingFunction__Group__6__Impl20838 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__7__Impl_in_rule__WeightingFunction__Group__720869 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__8_in_rule__WeightingFunction__Group__720872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_7_in_rule__WeightingFunction__Group__7__Impl20899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__8__Impl_in_rule__WeightingFunction__Group__820929 = new BitSet(new long[]{0x0000000001100000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__9_in_rule__WeightingFunction__Group__820932 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group_8__0_in_rule__WeightingFunction__Group__8__Impl20959 = new BitSet(new long[]{0x0000000001000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__9__Impl_in_rule__WeightingFunction__Group__920990 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__10_in_rule__WeightingFunction__Group__920993 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__WeightingFunction__Group__9__Impl21021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group__10__Impl_in_rule__WeightingFunction__Group__1021052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__WeightingFunction__Group__10__Impl21080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group_8__0__Impl_in_rule__WeightingFunction__Group_8__021133 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group_8__1_in_rule__WeightingFunction__Group_8__021136 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__WeightingFunction__Group_8__0__Impl21164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__Group_8__1__Impl_in_rule__WeightingFunction__Group_8__121195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_8_1_in_rule__WeightingFunction__Group_8__1__Impl21222 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__0__Impl_in_rule__MetricValue__Group__021259 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__1_in_rule__MetricValue__Group__021262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_89_in_rule__MetricValue__Group__0__Impl21290 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__1__Impl_in_rule__MetricValue__Group__121321 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__2_in_rule__MetricValue__Group__121324 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__IdAssignment_1_in_rule__MetricValue__Group__1__Impl21351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__2__Impl_in_rule__MetricValue__Group__221381 = new BitSet(new long[]{0x0000000000040000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__3_in_rule__MetricValue__Group__221384 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__MetricValue__Group__2__Impl21412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__3__Impl_in_rule__MetricValue__Group__321443 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__4_in_rule__MetricValue__Group__321446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__MetricValue__Group__3__Impl21474 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__4__Impl_in_rule__MetricValue__Group__421505 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__5_in_rule__MetricValue__Group__421508 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__NameAssignment_4_in_rule__MetricValue__Group__4__Impl21535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__5__Impl_in_rule__MetricValue__Group__521565 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__6_in_rule__MetricValue__Group__521568 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_90_in_rule__MetricValue__Group__5__Impl21596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__6__Impl_in_rule__MetricValue__Group__621627 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__7_in_rule__MetricValue__Group__621630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__ValueAssignment_6_in_rule__MetricValue__Group__6__Impl21657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__7__Impl_in_rule__MetricValue__Group__721687 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__8_in_rule__MetricValue__Group__721690 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_91_in_rule__MetricValue__Group__7__Impl21718 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__8__Impl_in_rule__MetricValue__Group__821749 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__9_in_rule__MetricValue__Group__821752 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__MeasuredEntityAssignment_8_in_rule__MetricValue__Group__8__Impl21779 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__9__Impl_in_rule__MetricValue__Group__921809 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__10_in_rule__MetricValue__Group__921812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_92_in_rule__MetricValue__Group__9__Impl21840 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__10__Impl_in_rule__MetricValue__Group__1021871 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__11_in_rule__MetricValue__Group__1021874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__MetricTypeAssignment_10_in_rule__MetricValue__Group__10__Impl21901 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MetricValue__Group__11__Impl_in_rule__MetricValue__Group__1121931 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__MetricValue__Group__11__Impl21959 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__022017 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__022020 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_93_in_rule__WeightedMetric__Group__0__Impl22048 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__122079 = new BitSet(new long[]{0x0000000000020000L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__122082 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__IdAssignment_1_in_rule__WeightedMetric__Group__1__Impl22109 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__222139 = new BitSet(new long[]{0x0000000000040000L});
-    }
-
-    private static class FollowSets001 {
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__222142 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__WeightedMetric__Group__2__Impl22170 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__322201 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__322204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__WeightedMetric__Group__3__Impl22232 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__422263 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__422266 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__NameAssignment_4_in_rule__WeightedMetric__Group__4__Impl22293 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__522323 = new BitSet(new long[]{0x1000000000000040L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__6_in_rule__WeightedMetric__Group__522326 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_94_in_rule__WeightedMetric__Group__5__Impl22354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__6__Impl_in_rule__WeightedMetric__Group__622385 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__7_in_rule__WeightedMetric__Group__622388 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__WeightAssignment_6_in_rule__WeightedMetric__Group__6__Impl22415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__7__Impl_in_rule__WeightedMetric__Group__722445 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__8_in_rule__WeightedMetric__Group__722448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_92_in_rule__WeightedMetric__Group__7__Impl22476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__8__Impl_in_rule__WeightedMetric__Group__822507 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__9_in_rule__WeightedMetric__Group__822510 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__MetricTypeAssignment_8_in_rule__WeightedMetric__Group__8__Impl22537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WeightedMetric__Group__9__Impl_in_rule__WeightedMetric__Group__922567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__WeightedMetric__Group__9__Impl22595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationProcess__IdAssignment_122651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_422682 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_722713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_8_122744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_1222775 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_13_122806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1722837 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_18_122868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_222899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_20_3_122930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_2222961 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__IdAssignment_122992 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_423023 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_223058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_5_3_123097 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_6_123136 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_823171 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__IdAssignment_123202 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__NameAssignment_423233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_5_123268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_223307 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_6_3_123346 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_823385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1023420 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__IdAssignment_123451 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_423482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_623517 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_823552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1123583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_123614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1523645 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_123676 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_423707 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_323738 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_623769 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_7_123800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationPlan__IdAssignment_123831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationPlan__NameAssignment_423862 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_223893 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_5_3_123924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__IdAssignment_223955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__PredecessorAssignment_4_123990 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StartAction__SuccessorAssignment_5_124029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__IdAssignment_224064 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__PredecessorAssignment_4_124099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__StopAction__SuccessorAssignment_5_124138 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__IdAssignment_124173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEInt_in_rule__LoopAction__CounterAssignment_424204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__PredecessorAssignment_5_124239 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__LoopAction__SuccessorAssignment_6_124278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__LoopAction__BodyAssignment_824313 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__IdAssignment_124344 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__ConditionAssignment_3_124375 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__PredecessorAssignment_4_124410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__SuccessorAssignment_5_124449 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BranchAction__ContextAssignment_6_124488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionTrueBranchAssignment_824523 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__BranchAction__ConditionFalseBranchAssignment_1024554 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__IdAssignment_124585 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__PredecessorAssignment_3_124620 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__SuccessorAssignment_4_124659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ActionReference__RefersToAssignment_624698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationScope_in_rule__AdaptationActionOperation__AdaptationOperationScopeAssignment_324733 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationDirection_in_rule__AdaptationActionOperation__AdaptationOperationDirectionAssignment_524764 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__IdAssignment_124795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__NameAssignment_424826 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MinValueAssignment_624857 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__ModelVariableConfigurationRange__MaxValueAssignment_824888 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelVariableConfigurationRange__AdaptableEntityAssignment_1024923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__IdAssignment_124958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__NameAssignment_424989 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ModelEntityConfigurationRange__AdaptableEntityAssignment_625024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleVariationType_in_rule__ModelEntityConfigurationRange__VariationPossibilityAssignment_825059 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MinValueConstraintAssignment_325090 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__PropertyRange__MaxValueConstraintAssignment_525121 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_225156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__SetOfConfigurations__VariantsAssignment_2_3_125195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_rule__SetOfConfigurations__ValueConstraintAssignment_425230 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__OclConstraint__NameAssignment_125261 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__OclConstraint__OclStringAssignment_425292 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__IdAssignment_125323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__NameAssignment_425354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__SpecificationAssignment_625385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Event__IdAssignment_125416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Event__NameAssignment_425447 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__IdAssignment_125478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_425509 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_625540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_825571 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_1025606 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_11_125645 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__IdAssignment_125680 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_425711 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_725742 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_8_125773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__IdAssignment_125813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__NameAssignment_425844 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__MetricValue__ValueAssignment_625875 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__MeasuredEntityAssignment_825910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__MetricValue__MetricTypeAssignment_1025949 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__IdAssignment_125990 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_426021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_626052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_826087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString185 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_entryRuleTactic245 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTactic252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__0_in_ruleTactic278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_entryRuleAction305 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAction312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__0_in_ruleAction338 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_entryRuleStrategy365 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStrategy372 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__0_in_ruleStrategy398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter425 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0_in_ruleParameter458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal485 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOverallGoal492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__0_in_ruleOverallGoal518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan545 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan552 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0_in_ruleAdaptationPlan578 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction605 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__0_in_ruleStartAction638 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction665 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_11_in_ruleStopAction699 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction727 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_12_in_ruleLoopAction761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction789 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction796 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_ruleBranchAction823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference851 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_14_in_ruleActionReference885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation915 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationActionOperation922 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationActionOperation949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble981 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__0_in_ruleEDouble1014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_entryRulePropertyRange1041 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyRange1048 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_16_in_rulePropertyRange1075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations1103 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSetOfConfigurations1110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_17_in_ruleSetOfConfigurations1137 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_entryRuleObjective1171 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleObjective1178 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__0_in_ruleObjective1204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_entryRuleEvent1231 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEvent1238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Event__NameAssignment_in_ruleEvent1264 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic1291 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedTactic1298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__0_in_ruleWeightedTactic1324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction1351 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightingFunction1358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__0_in_ruleWeightingFunction1384 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric1423 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric1430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0_in_ruleWeightedMetric1456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_rule__AbstractControlFlowElement__Alternatives1492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_rule__AbstractControlFlowElement__Alternatives1509 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_rule__AbstractControlFlowElement__Alternatives1526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_rule__AbstractControlFlowElement__Alternatives1543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_rule__AbstractControlFlowElement__Alternatives1560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__EDouble__Alternatives_4_01643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__EDouble__Alternatives_4_01663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__0__Impl_in_rule__AdaptationProcess__Group__01695 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1_in_rule__AdaptationProcess__Group__01698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__AdaptationProcess__Group__0__Impl1726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__1__Impl_in_rule__AdaptationProcess__Group__11757 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2_in_rule__AdaptationProcess__Group__11760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__NameAssignment_1_in_rule__AdaptationProcess__Group__1__Impl1787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__2__Impl_in_rule__AdaptationProcess__Group__21817 = new BitSet(new long[]{0x0000000000400000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3_in_rule__AdaptationProcess__Group__21820 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AdaptationProcess__Group__2__Impl1848 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__3__Impl_in_rule__AdaptationProcess__Group__31879 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4_in_rule__AdaptationProcess__Group__31882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_22_in_rule__AdaptationProcess__Group__3__Impl1910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__4__Impl_in_rule__AdaptationProcess__Group__41941 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5_in_rule__AdaptationProcess__Group__41944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__GoalAssignment_4_in_rule__AdaptationProcess__Group__4__Impl1971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__5__Impl_in_rule__AdaptationProcess__Group__52001 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6_in_rule__AdaptationProcess__Group__52004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__AdaptationProcess__Group__5__Impl2032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__6__Impl_in_rule__AdaptationProcess__Group__62063 = new BitSet(new long[]{0x0000000400000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7_in_rule__AdaptationProcess__Group__62066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group__6__Impl2094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__7__Impl_in_rule__AdaptationProcess__Group__72125 = new BitSet(new long[]{0x0000000012000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8_in_rule__AdaptationProcess__Group__72128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_7_in_rule__AdaptationProcess__Group__7__Impl2155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__8__Impl_in_rule__AdaptationProcess__Group__82185 = new BitSet(new long[]{0x0000000012000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9_in_rule__AdaptationProcess__Group__82188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0_in_rule__AdaptationProcess__Group__8__Impl2215 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__9__Impl_in_rule__AdaptationProcess__Group__92246 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10_in_rule__AdaptationProcess__Group__92249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AdaptationProcess__Group__9__Impl2277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__10__Impl_in_rule__AdaptationProcess__Group__102308 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11_in_rule__AdaptationProcess__Group__102311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group__10__Impl2339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__11__Impl_in_rule__AdaptationProcess__Group__112370 = new BitSet(new long[]{0x0000000014000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12_in_rule__AdaptationProcess__Group__112373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_11_in_rule__AdaptationProcess__Group__11__Impl2400 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__12__Impl_in_rule__AdaptationProcess__Group__122430 = new BitSet(new long[]{0x0000000014000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13_in_rule__AdaptationProcess__Group__122433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_12__0_in_rule__AdaptationProcess__Group__12__Impl2460 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__13__Impl_in_rule__AdaptationProcess__Group__132491 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14_in_rule__AdaptationProcess__Group__132494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__AdaptationProcess__Group__13__Impl2522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__14__Impl_in_rule__AdaptationProcess__Group__142553 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15_in_rule__AdaptationProcess__Group__142556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group__14__Impl2584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__15__Impl_in_rule__AdaptationProcess__Group__152615 = new BitSet(new long[]{0x0000000038000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16_in_rule__AdaptationProcess__Group__152618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_15_in_rule__AdaptationProcess__Group__15__Impl2645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__16__Impl_in_rule__AdaptationProcess__Group__162675 = new BitSet(new long[]{0x0000000038000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17_in_rule__AdaptationProcess__Group__162678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_16__0_in_rule__AdaptationProcess__Group__16__Impl2705 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__17__Impl_in_rule__AdaptationProcess__Group__172736 = new BitSet(new long[]{0x0000000038000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18_in_rule__AdaptationProcess__Group__172739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__0_in_rule__AdaptationProcess__Group__17__Impl2766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group__18__Impl_in_rule__AdaptationProcess__Group__182797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__AdaptationProcess__Group__18__Impl2825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__0__Impl_in_rule__AdaptationProcess__Group_8__02894 = new BitSet(new long[]{0x0000000400000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1_in_rule__AdaptationProcess__Group_8__02897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationProcess__Group_8__0__Impl2925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_8__1__Impl_in_rule__AdaptationProcess__Group_8__12956 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ActionsAssignment_8_1_in_rule__AdaptationProcess__Group_8__1__Impl2983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_12__0__Impl_in_rule__AdaptationProcess__Group_12__03017 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_12__1_in_rule__AdaptationProcess__Group_12__03020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationProcess__Group_12__0__Impl3048 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_12__1__Impl_in_rule__AdaptationProcess__Group_12__13079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__TacticsAssignment_12_1_in_rule__AdaptationProcess__Group_12__1__Impl3106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_16__0__Impl_in_rule__AdaptationProcess__Group_16__03140 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_16__1_in_rule__AdaptationProcess__Group_16__03143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationProcess__Group_16__0__Impl3171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_16__1__Impl_in_rule__AdaptationProcess__Group_16__13202 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__StrategiesAssignment_16_1_in_rule__AdaptationProcess__Group_16__1__Impl3229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__0__Impl_in_rule__AdaptationProcess__Group_17__03263 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__1_in_rule__AdaptationProcess__Group_17__03266 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__AdaptationProcess__Group_17__0__Impl3294 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__1__Impl_in_rule__AdaptationProcess__Group_17__13325 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__2_in_rule__AdaptationProcess__Group_17__13328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AdaptationProcess__Group_17__1__Impl3356 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__2__Impl_in_rule__AdaptationProcess__Group_17__23387 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__3_in_rule__AdaptationProcess__Group_17__23390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_17_2_in_rule__AdaptationProcess__Group_17__2__Impl3417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17__3__Impl_in_rule__AdaptationProcess__Group_17__33447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17_3__0_in_rule__AdaptationProcess__Group_17__3__Impl3474 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17_3__0__Impl_in_rule__AdaptationProcess__Group_17_3__03513 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17_3__1_in_rule__AdaptationProcess__Group_17_3__03516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationProcess__Group_17_3__0__Impl3544 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__Group_17_3__1__Impl_in_rule__AdaptationProcess__Group_17_3__13575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationProcess__ParametersAssignment_17_3_1_in_rule__AdaptationProcess__Group_17_3__1__Impl3602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__0__Impl_in_rule__Tactic__Group__03636 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__1_in_rule__Tactic__Group__03639 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__Tactic__Group__0__Impl3667 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__1__Impl_in_rule__Tactic__Group__13698 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__2_in_rule__Tactic__Group__13701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__NameAssignment_1_in_rule__Tactic__Group__1__Impl3728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__2__Impl_in_rule__Tactic__Group__23758 = new BitSet(new long[]{0x0000000380000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__3_in_rule__Tactic__Group__23761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Tactic__Group__2__Impl3789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__3__Impl_in_rule__Tactic__Group__33820 = new BitSet(new long[]{0x0000000380000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__4_in_rule__Tactic__Group__33823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__0_in_rule__Tactic__Group__3__Impl3850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__4__Impl_in_rule__Tactic__Group__43881 = new BitSet(new long[]{0x0000000380000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__5_in_rule__Tactic__Group__43884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__0_in_rule__Tactic__Group__4__Impl3911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__5__Impl_in_rule__Tactic__Group__53942 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__6_in_rule__Tactic__Group__53945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__Tactic__Group__5__Impl3973 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__6__Impl_in_rule__Tactic__Group__64004 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__7_in_rule__Tactic__Group__64007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Tactic__Group__6__Impl4035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__7__Impl_in_rule__Tactic__Group__74066 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__8_in_rule__Tactic__Group__74069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__ImplementedPlanAssignment_7_in_rule__Tactic__Group__7__Impl4096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group__8__Impl_in_rule__Tactic__Group__84126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__Tactic__Group__8__Impl4154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__0__Impl_in_rule__Tactic__Group_3__04203 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__1_in_rule__Tactic__Group_3__04206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__Tactic__Group_3__0__Impl4234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__1__Impl_in_rule__Tactic__Group_3__14265 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__2_in_rule__Tactic__Group_3__14268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Tactic__Group_3__1__Impl4296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__2__Impl_in_rule__Tactic__Group_3__24327 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__3_in_rule__Tactic__Group_3__24330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_3_2_in_rule__Tactic__Group_3__2__Impl4357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3__3__Impl_in_rule__Tactic__Group_3__34387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3_3__0_in_rule__Tactic__Group_3__3__Impl4414 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3_3__0__Impl_in_rule__Tactic__Group_3_3__04453 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3_3__1_in_rule__Tactic__Group_3_3__04456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__Tactic__Group_3_3__0__Impl4484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_3_3__1__Impl_in_rule__Tactic__Group_3_3__14515 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__InputParamsAssignment_3_3_1_in_rule__Tactic__Group_3_3__1__Impl4542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__0__Impl_in_rule__Tactic__Group_4__04576 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__1_in_rule__Tactic__Group_4__04579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__Tactic__Group_4__0__Impl4607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__1__Impl_in_rule__Tactic__Group_4__14638 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__2_in_rule__Tactic__Group_4__14641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Tactic__Group_4__1__Impl4669 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__Group_4__2__Impl_in_rule__Tactic__Group_4__24700 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Tactic__OutputParamAssignment_4_2_in_rule__Tactic__Group_4__2__Impl4727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__0__Impl_in_rule__Action__Group__04763 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group__1_in_rule__Action__Group__04766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__Action__Group__0__Impl4794 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__1__Impl_in_rule__Action__Group__14825 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Action__Group__2_in_rule__Action__Group__14828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__NameAssignment_1_in_rule__Action__Group__1__Impl4855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__2__Impl_in_rule__Action__Group__24885 = new BitSet(new long[]{0x0000000B00000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__3_in_rule__Action__Group__24888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Action__Group__2__Impl4916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__3__Impl_in_rule__Action__Group__34947 = new BitSet(new long[]{0x0000000B00000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__4_in_rule__Action__Group__34950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__0_in_rule__Action__Group__3__Impl4977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__4__Impl_in_rule__Action__Group__45008 = new BitSet(new long[]{0x0000000B00000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__5_in_rule__Action__Group__45011 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__0_in_rule__Action__Group__4__Impl5038 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__5__Impl_in_rule__Action__Group__55069 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__6_in_rule__Action__Group__55072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__Action__Group__5__Impl5100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__6__Impl_in_rule__Action__Group__65131 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group__7_in_rule__Action__Group__65134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Action__Group__6__Impl5162 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__7__Impl_in_rule__Action__Group__75193 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__8_in_rule__Action__Group__75196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__ReferredAdaptationPointAssignment_7_in_rule__Action__Group__7__Impl5223 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__8__Impl_in_rule__Action__Group__85253 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__9_in_rule__Action__Group__85256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__Action__Group__8__Impl5284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__9__Impl_in_rule__Action__Group__95315 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__Action__Group__10_in_rule__Action__Group__95318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Action__Group__9__Impl5346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__10__Impl_in_rule__Action__Group__105377 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__Action__Group__11_in_rule__Action__Group__105380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__AdaptationActionOperationAssignment_10_in_rule__Action__Group__10__Impl5407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group__11__Impl_in_rule__Action__Group__115437 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__Action__Group__11__Impl5465 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__0__Impl_in_rule__Action__Group_3__05520 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__1_in_rule__Action__Group_3__05523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__Action__Group_3__0__Impl5551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__1__Impl_in_rule__Action__Group_3__15582 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__2_in_rule__Action__Group_3__15585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Action__Group_3__1__Impl5613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__2__Impl_in_rule__Action__Group_3__25644 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__3_in_rule__Action__Group_3__25647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_3_2_in_rule__Action__Group_3__2__Impl5674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3__3__Impl_in_rule__Action__Group_3__35704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3_3__0_in_rule__Action__Group_3__3__Impl5731 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3_3__0__Impl_in_rule__Action__Group_3_3__05770 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_3_3__1_in_rule__Action__Group_3_3__05773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__Action__Group_3_3__0__Impl5801 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_3_3__1__Impl_in_rule__Action__Group_3_3__15832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__InputParamsAssignment_3_3_1_in_rule__Action__Group_3_3__1__Impl5859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__0__Impl_in_rule__Action__Group_4__05893 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__1_in_rule__Action__Group_4__05896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__Action__Group_4__0__Impl5924 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__1__Impl_in_rule__Action__Group_4__15955 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__2_in_rule__Action__Group_4__15958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Action__Group_4__1__Impl5986 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__Group_4__2__Impl_in_rule__Action__Group_4__26017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Action__OutputParamAssignment_4_2_in_rule__Action__Group_4__2__Impl6044 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__0__Impl_in_rule__Strategy__Group__06080 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__1_in_rule__Strategy__Group__06083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__Strategy__Group__0__Impl6111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__1__Impl_in_rule__Strategy__Group__16142 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__2_in_rule__Strategy__Group__16145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__NameAssignment_1_in_rule__Strategy__Group__1__Impl6172 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__2__Impl_in_rule__Strategy__Group__26202 = new BitSet(new long[]{0x0000004000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__3_in_rule__Strategy__Group__26205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Strategy__Group__2__Impl6233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__3__Impl_in_rule__Strategy__Group__36264 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__4_in_rule__Strategy__Group__36267 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__Strategy__Group__3__Impl6295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__4__Impl_in_rule__Strategy__Group__46326 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__5_in_rule__Strategy__Group__46329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__Strategy__Group__4__Impl6357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__5__Impl_in_rule__Strategy__Group__56388 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__6_in_rule__Strategy__Group__56391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__ObjectiveAssignment_5_in_rule__Strategy__Group__5__Impl6418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__6__Impl_in_rule__Strategy__Group__66448 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__7_in_rule__Strategy__Group__66451 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_rule__Strategy__Group__6__Impl6479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__7__Impl_in_rule__Strategy__Group__76510 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__8_in_rule__Strategy__Group__76513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__Strategy__Group__7__Impl6541 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__8__Impl_in_rule__Strategy__Group__86572 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__9_in_rule__Strategy__Group__86575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TriggeringEventsAssignment_8_in_rule__Strategy__Group__8__Impl6602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__9__Impl_in_rule__Strategy__Group__96632 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__10_in_rule__Strategy__Group__96635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Strategy__Group__9__Impl6663 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__10__Impl_in_rule__Strategy__Group__106694 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__11_in_rule__Strategy__Group__106697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Strategy__Group__10__Impl6725 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__11__Impl_in_rule__Strategy__Group__116756 = new BitSet(new long[]{0x0000020010000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__12_in_rule__Strategy__Group__116759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_11_in_rule__Strategy__Group__11__Impl6786 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__12__Impl_in_rule__Strategy__Group__126816 = new BitSet(new long[]{0x0000020010000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__13_in_rule__Strategy__Group__126819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__0_in_rule__Strategy__Group__12__Impl6846 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__13__Impl_in_rule__Strategy__Group__136877 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__14_in_rule__Strategy__Group__136880 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_rule__Strategy__Group__13__Impl6908 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__14__Impl_in_rule__Strategy__Group__146939 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__15_in_rule__Strategy__Group__146942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Strategy__Group__14__Impl6970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__15__Impl_in_rule__Strategy__Group__157001 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__16_in_rule__Strategy__Group__157004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__WeightingFunctionAssignment_15_in_rule__Strategy__Group__15__Impl7031 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group__16__Impl_in_rule__Strategy__Group__167061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__Strategy__Group__16__Impl7089 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__0__Impl_in_rule__Strategy__Group_12__07154 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__1_in_rule__Strategy__Group_12__07157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__Strategy__Group_12__0__Impl7185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__Group_12__1__Impl_in_rule__Strategy__Group_12__17216 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Strategy__TacticsAssignment_12_1_in_rule__Strategy__Group_12__1__Impl7243 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__07277 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__07280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__TypeAssignment_0_in_rule__Parameter__Group__0__Impl7307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__17337 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl7364 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__0__Impl_in_rule__OverallGoal__Group__07398 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__1_in_rule__OverallGoal__Group__07401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__OverallGoal__Group__0__Impl7429 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__1__Impl_in_rule__OverallGoal__Group__17460 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__2_in_rule__OverallGoal__Group__17463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__OverallGoal__Group__1__Impl7491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__2__Impl_in_rule__OverallGoal__Group__27522 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__3_in_rule__OverallGoal__Group__27525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__DescriptionAssignment_2_in_rule__OverallGoal__Group__2__Impl7552 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__3__Impl_in_rule__OverallGoal__Group__37582 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__4_in_rule__OverallGoal__Group__37585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__OverallGoal__Group__3__Impl7613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__4__Impl_in_rule__OverallGoal__Group__47644 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__5_in_rule__OverallGoal__Group__47647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__OverallGoal__Group__4__Impl7675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__5__Impl_in_rule__OverallGoal__Group__57706 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__6_in_rule__OverallGoal__Group__57709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_5_in_rule__OverallGoal__Group__5__Impl7736 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group__6__Impl_in_rule__OverallGoal__Group__67766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_6__0_in_rule__OverallGoal__Group__6__Impl7793 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_6__0__Impl_in_rule__OverallGoal__Group_6__07838 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_6__1_in_rule__OverallGoal__Group_6__07841 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__OverallGoal__Group_6__0__Impl7869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__Group_6__1__Impl_in_rule__OverallGoal__Group_6__17900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OverallGoal__ObjectivesAssignment_6_1_in_rule__OverallGoal__Group_6__1__Impl7927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__0__Impl_in_rule__AdaptationPlan__Group__07961 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1_in_rule__AdaptationPlan__Group__07964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_0_in_rule__AdaptationPlan__Group__0__Impl7991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__1__Impl_in_rule__AdaptationPlan__Group__18021 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2_in_rule__AdaptationPlan__Group__18024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_1__0_in_rule__AdaptationPlan__Group__1__Impl8051 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__2__Impl_in_rule__AdaptationPlan__Group__28082 = new BitSet(new long[]{0x0000000000000800L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3_in_rule__AdaptationPlan__Group__28085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationPlan__Group__2__Impl8113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group__3__Impl_in_rule__AdaptationPlan__Group__38144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_3_in_rule__AdaptationPlan__Group__3__Impl8171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_1__0__Impl_in_rule__AdaptationPlan__Group_1__08209 = new BitSet(new long[]{0x0000100000007800L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_1__1_in_rule__AdaptationPlan__Group_1__08212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__AdaptationPlan__Group_1__0__Impl8240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__Group_1__1__Impl_in_rule__AdaptationPlan__Group_1__18271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AdaptationPlan__StepsAssignment_1_1_in_rule__AdaptationPlan__Group_1__1__Impl8298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__0__Impl_in_rule__StartAction__Group__08332 = new BitSet(new long[]{0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__1_in_rule__StartAction__Group__08335 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StartAction__Group__1__Impl_in_rule__StartAction__Group__18393 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__StartAction__Group__1__Impl8421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__0__Impl_in_rule__EDouble__Group__08457 = new BitSet(new long[]{0x0000400000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__1_in_rule__EDouble__Group__08460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__EDouble__Group__0__Impl8489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__1__Impl_in_rule__EDouble__Group__18522 = new BitSet(new long[]{0x0000400000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__2_in_rule__EDouble__Group__18525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__1__Impl8553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__2__Impl_in_rule__EDouble__Group__28584 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__3_in_rule__EDouble__Group__28587 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__EDouble__Group__2__Impl8615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__3__Impl_in_rule__EDouble__Group__38646 = new BitSet(new long[]{0x00000000000C0000L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__4_in_rule__EDouble__Group__38649 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group__3__Impl8676 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group__4__Impl_in_rule__EDouble__Group__48705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__0_in_rule__EDouble__Group__4__Impl8732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__0__Impl_in_rule__EDouble__Group_4__08773 = new BitSet(new long[]{0x0000200000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__1_in_rule__EDouble__Group_4__08776 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Alternatives_4_0_in_rule__EDouble__Group_4__0__Impl8803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__1__Impl_in_rule__EDouble__Group_4__18833 = new BitSet(new long[]{0x0000200000000040L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__2_in_rule__EDouble__Group_4__18836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__EDouble__Group_4__1__Impl8865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EDouble__Group_4__2__Impl_in_rule__EDouble__Group_4__28898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__EDouble__Group_4__2__Impl8925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__0__Impl_in_rule__Objective__Group__08960 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Objective__Group__1_in_rule__Objective__Group__08963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__Objective__Group__0__Impl8991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__1__Impl_in_rule__Objective__Group__19022 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__Objective__Group__2_in_rule__Objective__Group__19025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__NameAssignment_1_in_rule__Objective__Group__1__Impl9052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__2__Impl_in_rule__Objective__Group__29082 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Objective__Group__3_in_rule__Objective__Group__29085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__Objective__Group__2__Impl9113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__Group__3__Impl_in_rule__Objective__Group__39144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Objective__SpecificationAssignment_3_in_rule__Objective__Group__3__Impl9171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__0__Impl_in_rule__WeightedTactic__Group__09209 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1_in_rule__WeightedTactic__Group__09212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__NameAssignment_0_in_rule__WeightedTactic__Group__0__Impl9239 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__1__Impl_in_rule__WeightedTactic__Group__19269 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2_in_rule__WeightedTactic__Group__19272 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__WeightedTactic__Group__1__Impl9300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__2__Impl_in_rule__WeightedTactic__Group__29331 = new BitSet(new long[]{0x0000600000000040L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3_in_rule__WeightedTactic__Group__29334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__UsedTacticAssignment_2_in_rule__WeightedTactic__Group__2__Impl9361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__3__Impl_in_rule__WeightedTactic__Group__39391 = new BitSet(new long[]{0x0000600000000040L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4_in_rule__WeightedTactic__Group__39394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__CurrentWeightAssignment_3_in_rule__WeightedTactic__Group__3__Impl9421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__4__Impl_in_rule__WeightedTactic__Group__49451 = new BitSet(new long[]{0x0001000000000000L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5_in_rule__WeightedTactic__Group__49454 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__DefaultWeightAssignment_4_in_rule__WeightedTactic__Group__4__Impl9481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group__5__Impl_in_rule__WeightedTactic__Group__59511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_5__0_in_rule__WeightedTactic__Group__5__Impl9538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_5__0__Impl_in_rule__WeightedTactic__Group_5__09581 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_5__1_in_rule__WeightedTactic__Group_5__09584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__WeightedTactic__Group_5__0__Impl9612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__Group_5__1__Impl_in_rule__WeightedTactic__Group_5__19643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedTactic__LastImpactAssignment_5_1_in_rule__WeightedTactic__Group_5__1__Impl9670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__0__Impl_in_rule__WeightingFunction__Group__09704 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1_in_rule__WeightingFunction__Group__09707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__NameAssignment_0_in_rule__WeightingFunction__Group__0__Impl9734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__1__Impl_in_rule__WeightingFunction__Group__19764 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2_in_rule__WeightingFunction__Group__19767 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__WeightingFunction__Group__1__Impl9795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__2__Impl_in_rule__WeightingFunction__Group__29826 = new BitSet(new long[]{0x0000000018000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3_in_rule__WeightingFunction__Group__29829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_2_in_rule__WeightingFunction__Group__2__Impl9856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__3__Impl_in_rule__WeightingFunction__Group__39886 = new BitSet(new long[]{0x0000000018000000L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4_in_rule__WeightingFunction__Group__39889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_3__0_in_rule__WeightingFunction__Group__3__Impl9916 = new BitSet(new long[]{0x0000000010000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group__4__Impl_in_rule__WeightingFunction__Group__49947 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__WeightingFunction__Group__4__Impl9975 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_3__0__Impl_in_rule__WeightingFunction__Group_3__010016 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_3__1_in_rule__WeightingFunction__Group_3__010019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__WeightingFunction__Group_3__0__Impl10047 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__Group_3__1__Impl_in_rule__WeightingFunction__Group_3__110078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightingFunction__WeightedMetricsAssignment_3_1_in_rule__WeightingFunction__Group_3__1__Impl10105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__0__Impl_in_rule__WeightedMetric__Group__010140 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1_in_rule__WeightedMetric__Group__010143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__NameAssignment_0_in_rule__WeightedMetric__Group__0__Impl10170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__1__Impl_in_rule__WeightedMetric__Group__110200 = new BitSet(new long[]{0x0000600000000040L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2_in_rule__WeightedMetric__Group__110203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__WeightedMetric__Group__1__Impl10231 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__2__Impl_in_rule__WeightedMetric__Group__210262 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3_in_rule__WeightedMetric__Group__210265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__WeightAssignment_2_in_rule__WeightedMetric__Group__2__Impl10292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__3__Impl_in_rule__WeightedMetric__Group__310322 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4_in_rule__WeightedMetric__Group__310325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__WeightedMetric__Group__3__Impl10353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__4__Impl_in_rule__WeightedMetric__Group__410384 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5_in_rule__WeightedMetric__Group__410387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__WeightedMetric__Group__4__Impl10415 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__Group__5__Impl_in_rule__WeightedMetric__Group__510446 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WeightedMetric__MetricTypeAssignment_5_in_rule__WeightedMetric__Group__5__Impl10473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AdaptationProcess__NameAssignment_110520 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_rule__AdaptationProcess__GoalAssignment_410551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_710582 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_rule__AdaptationProcess__ActionsAssignment_8_110613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_1110644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_rule__AdaptationProcess__TacticsAssignment_12_110675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_1510706 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_rule__AdaptationProcess__StrategiesAssignment_16_110737 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_17_210768 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__AdaptationProcess__ParametersAssignment_17_3_110799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__NameAssignment_110830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_3_210865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__InputParamsAssignment_3_3_110904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Tactic__OutputParamAssignment_4_210943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_rule__Tactic__ImplementedPlanAssignment_710978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__NameAssignment_111009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_3_211044 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__InputParamsAssignment_3_3_111083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__OutputParamAssignment_4_211122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Action__ReferredAdaptationPointAssignment_711161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_rule__Action__AdaptationActionOperationAssignment_1011196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__NameAssignment_111227 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Strategy__ObjectiveAssignment_511262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_rule__Strategy__TriggeringEventsAssignment_811297 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_1111328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_rule__Strategy__TacticsAssignment_12_111359 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_rule__Strategy__WeightingFunctionAssignment_1511390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__TypeAssignment_011421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_111452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__OverallGoal__DescriptionAssignment_211483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_511514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_rule__OverallGoal__ObjectivesAssignment_6_111545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_rule__AdaptationPlan__StepsAssignment_011576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_rule__AdaptationPlan__StepsAssignment_1_111607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_rule__AdaptationPlan__StepsAssignment_311638 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__NameAssignment_111669 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Objective__SpecificationAssignment_311700 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Event__NameAssignment11731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__NameAssignment_011762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__UsedTacticAssignment_211797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__CurrentWeightAssignment_311832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedTactic__DefaultWeightAssignment_411863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedTactic__LastImpactAssignment_5_111898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightingFunction__NameAssignment_011933 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_211964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_rule__WeightingFunction__WeightedMetricsAssignment_3_111995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__NameAssignment_012027 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_rule__WeightedMetric__WeightAssignment_212058 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__WeightedMetric__MetricTypeAssignment_512093 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
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..42434924055b70ff9df664593fe7242968e772c8
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/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xmi b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xmi
index b62addc1f9185e6d713b300b24a3dbeb499ccb78..cbe66cdcd27708bad15a74859ac10bd2bf7396cd 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xmi
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xmi
@@ -22,28 +22,16 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="AdaptationProcess"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="tactics"/>
         <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Assignment" feature="tactics" operator="+=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Keyword" value=","/>
-          <elements xsi:type="xtext:Assignment" feature="tactics" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-          </elements>
+        <elements xsi:type="xtext:Keyword" value="goal"/>
+        <elements xsi:type="xtext:Assignment" feature="goal" operator="=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
         <elements xsi:type="xtext:Keyword" value="actions"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="actions" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
@@ -53,9 +41,19 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </elements>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
+        <elements xsi:type="xtext:Keyword" value="tactics"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
+        <elements xsi:type="xtext:Assignment" feature="tactics" operator="+=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+        </elements>
+        <elements xsi:type="xtext:Group" cardinality="*">
+          <elements xsi:type="xtext:Keyword" value=","/>
+          <elements xsi:type="xtext:Assignment" feature="tactics" operator="+=">
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+          </elements>
+        </elements>
         <elements xsi:type="xtext:Keyword" value="strategies"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="strategies" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
         </elements>
@@ -65,10 +63,9 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
           </elements>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Keyword" value="parameters"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
+          <elements xsi:type="xtext:Keyword" value=":"/>
           <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
           </elements>
@@ -78,11 +75,6 @@
               <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
             </elements>
           </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="goal"/>
-        <elements xsi:type="xtext:Assignment" feature="goal" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
@@ -91,10 +83,7 @@
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//AdaptationPoint"/>
       </type>
-      <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="AdaptionPoint"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="AbstractControlFlowElement">
       <type metamodel="/0/@metamodelDeclarations.0">
@@ -132,17 +121,13 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="Tactic"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
+        <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="inputParams"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
+          <elements xsi:type="xtext:Keyword" value="input"/>
+          <elements xsi:type="xtext:Keyword" value=":"/>
           <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+=">
             <terminal xsi:type="xtext:CrossReference">
               <type metamodel="/0/@metamodelDeclarations.0">
@@ -162,10 +147,10 @@
               </terminal>
             </elements>
           </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="outputParam"/>
+          <elements xsi:type="xtext:Keyword" value="output"/>
+          <elements xsi:type="xtext:Keyword" value=":"/>
           <elements xsi:type="xtext:Assignment" feature="outputParam" operator="=">
             <terminal xsi:type="xtext:CrossReference">
               <type metamodel="/0/@metamodelDeclarations.0">
@@ -176,6 +161,7 @@
           </elements>
         </elements>
         <elements xsi:type="xtext:Keyword" value="implementedPlan"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="implementedPlan" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
         </elements>
@@ -188,28 +174,13 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="Action"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
+        <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="outputParam"/>
-          <elements xsi:type="xtext:Assignment" feature="outputParam" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="inputParams"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
+          <elements xsi:type="xtext:Keyword" value="input"/>
+          <elements xsi:type="xtext:Keyword" value=":"/>
           <elements xsi:type="xtext:Assignment" feature="inputParams" operator="+=">
             <terminal xsi:type="xtext:CrossReference">
               <type metamodel="/0/@metamodelDeclarations.0">
@@ -229,9 +200,21 @@
               </terminal>
             </elements>
           </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
+        </elements>
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="output"/>
+          <elements xsi:type="xtext:Keyword" value=":"/>
+          <elements xsi:type="xtext:Assignment" feature="outputParam" operator="=">
+            <terminal xsi:type="xtext:CrossReference">
+              <type metamodel="/0/@metamodelDeclarations.0">
+                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/>
+              </type>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+            </terminal>
+          </elements>
         </elements>
         <elements xsi:type="xtext:Keyword" value="referredAdaptationPoint"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="referredAdaptationPoint" operator="=">
           <terminal xsi:type="xtext:CrossReference">
             <type metamodel="/0/@metamodelDeclarations.2">
@@ -241,6 +224,7 @@
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="adaptationActionOperation"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="adaptationActionOperation" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
         </elements>
@@ -253,15 +237,12 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="Strategy"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
+        <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="objective"/>
+        <elements xsi:type="xtext:Keyword" value="="/>
         <elements xsi:type="xtext:Assignment" feature="objective" operator="=">
           <terminal xsi:type="xtext:CrossReference">
             <type metamodel="/0/@metamodelDeclarations.0">
@@ -271,11 +252,12 @@
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="triggeringEvents"/>
+        <elements xsi:type="xtext:Keyword" value="="/>
         <elements xsi:type="xtext:Assignment" feature="triggeringEvents" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="tactics"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="tactics" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
         </elements>
@@ -285,8 +267,8 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.28"/>
           </elements>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
         <elements xsi:type="xtext:Keyword" value="weightingFunction"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="weightingFunction" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.29"/>
         </elements>
@@ -298,16 +280,12 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Parameter"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Parameter"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+        <elements xsi:type="xtext:Assignment" feature="type" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="type"/>
-        <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="OverallGoal">
@@ -315,14 +293,13 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//OverallGoal"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="OverallGoal"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="description"/>
+        <elements xsi:type="xtext:Keyword" value="Description"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="description" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="objectives"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="objectives" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
         </elements>
@@ -332,8 +309,6 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/>
           </elements>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="AdaptationPlan">
@@ -341,30 +316,19 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationPlan"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="AdaptationPlan"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+        <elements xsi:type="xtext:Assignment" feature="steps" operator="+=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="steps"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
+        <elements xsi:type="xtext:Group" cardinality="*">
+          <elements xsi:type="xtext:Keyword" value=","/>
           <elements xsi:type="xtext:Assignment" feature="steps" operator="+=">
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
           </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="steps" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
+        <elements xsi:type="xtext:Keyword" value=","/>
+        <elements xsi:type="xtext:Assignment" feature="steps" operator="+=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+        </elements>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="StartAction">
@@ -378,221 +342,31 @@
           </type>
         </elements>
         <elements xsi:type="xtext:Keyword" value="StartAction"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="StopAction">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StopAction"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.0">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//StopAction"/>
-          </type>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="StopAction"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="StopAction"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="LoopAction">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//LoopAction"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="LoopAction"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="counter"/>
-        <elements xsi:type="xtext:Assignment" feature="counter" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="body"/>
-        <elements xsi:type="xtext:Assignment" feature="body" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="LoopAction"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="BranchAction">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//BranchAction"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="BranchAction"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="condition"/>
-          <elements xsi:type="xtext:Assignment" feature="condition" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="context"/>
-          <elements xsi:type="xtext:Assignment" feature="context" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="conditionTrueBranch"/>
-        <elements xsi:type="xtext:Assignment" feature="conditionTrueBranch" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="conditionFalseBranch"/>
-        <elements xsi:type="xtext:Assignment" feature="conditionFalseBranch" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="BranchAction"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="ActionReference">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//ActionReference"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ActionReference"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="predecessor"/>
-          <elements xsi:type="xtext:Assignment" feature="predecessor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="successor"/>
-          <elements xsi:type="xtext:Assignment" feature="successor" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.0">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AbstractControlFlowElement"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="refersTo"/>
-        <elements xsi:type="xtext:Assignment" feature="refersTo" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.0">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Action"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="ActionReference"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="EInt">
       <type metamodel="/0/@metamodelDeclarations.1">
@@ -607,83 +381,19 @@
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//AdaptationActionOperation"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="AdaptationActionOperation"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="adaptationOperationScope"/>
-        <elements xsi:type="xtext:Assignment" feature="adaptationOperationScope" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="adaptationOperationDirection"/>
-        <elements xsi:type="xtext:Assignment" feature="adaptationOperationDirection" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="AdaptionActionOperation"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="ModelVariableConfigurationRange">
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//ModelVariableConfigurationRange"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ModelVariableConfigurationRange"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="minValue"/>
-        <elements xsi:type="xtext:Assignment" feature="minValue" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="maxValue"/>
-        <elements xsi:type="xtext:Assignment" feature="maxValue" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="adaptableEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="adaptableEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//AdaptableEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="ModelVariableConfigurationRange"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="ModelEntityConfigurationRange">
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//ModelEntityConfigurationRange"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="ModelEntityConfigurationRange"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="adaptableEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="adaptableEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.3">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="variationPossibility"/>
-        <elements xsi:type="xtext:Assignment" feature="variationPossibility" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="ModelEntityConfigurationRange"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="EDouble">
       <type metamodel="/0/@metamodelDeclarations.1">
@@ -708,74 +418,19 @@
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//PropertyRange"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="PropertyRange"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="minValueConstraint"/>
-        <elements xsi:type="xtext:Assignment" feature="minValueConstraint" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="maxValueConstraint"/>
-        <elements xsi:type="xtext:Assignment" feature="maxValueConstraint" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="PropertyRange"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="SetOfConfigurations">
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//SetOfConfigurations"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="SetOfConfigurations"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="variants"/>
-          <elements xsi:type="xtext:Keyword" value="("/>
-          <elements xsi:type="xtext:Assignment" feature="variants" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Group" cardinality="*">
-            <elements xsi:type="xtext:Keyword" value=","/>
-            <elements xsi:type="xtext:Assignment" feature="variants" operator="+=">
-              <terminal xsi:type="xtext:CrossReference">
-                <type metamodel="/0/@metamodelDeclarations.3">
-                  <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/core/0.1#//Entity"/>
-                </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-              </terminal>
-            </elements>
-          </elements>
-          <elements xsi:type="xtext:Keyword" value=")"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="valueConstraint"/>
-        <elements xsi:type="xtext:Assignment" feature="valueConstraint" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="SetOfConfigurations"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="OclConstraint">
       <type metamodel="/0/@metamodelDeclarations.2">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptationpoints/0.1#//OclConstraint"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="OclConstraint"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="oclString"/>
-        <elements xsi:type="xtext:Assignment" feature="oclString" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="OclConstraint"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="AdaptationScope">
       <type metamodel="/0/@metamodelDeclarations.0">
@@ -795,36 +450,21 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="Objective"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="specification"/>
+        <elements xsi:type="xtext:Keyword" value="="/>
         <elements xsi:type="xtext:Assignment" feature="specification" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="Event">
       <type metamodel="/0/@metamodelDeclarations.0">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//Event"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Event"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
+      <alternatives xsi:type="xtext:Assignment" feature="name" operator="=">
+        <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="WeightedTactic">
@@ -832,24 +472,10 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightedTactic"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="WeightedTactic"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="currentWeight"/>
-        <elements xsi:type="xtext:Assignment" feature="currentWeight" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="defaultWeight"/>
-        <elements xsi:type="xtext:Assignment" feature="defaultWeight" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="usedTactic"/>
+        <elements xsi:type="xtext:Keyword" value="="/>
         <elements xsi:type="xtext:Assignment" feature="usedTactic" operator="=">
           <terminal xsi:type="xtext:CrossReference">
             <type metamodel="/0/@metamodelDeclarations.0">
@@ -858,6 +484,12 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
           </terminal>
         </elements>
+        <elements xsi:type="xtext:Assignment" feature="currentWeight" operator="=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+        </elements>
+        <elements xsi:type="xtext:Assignment" feature="defaultWeight" operator="=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+        </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Keyword" value="lastImpact"/>
           <elements xsi:type="xtext:Assignment" feature="lastImpact" operator="=">
@@ -869,7 +501,6 @@
             </terminal>
           </elements>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="WeightingFunction">
@@ -877,16 +508,9 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightingFunction"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="WeightingFunction"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="weightedMetrics"/>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Assignment" feature="weightedMetrics" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.36"/>
@@ -898,76 +522,19 @@
           </elements>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="Impact">
       <type metamodel="/0/@metamodelDeclarations.4">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Impact"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Impact"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="before"/>
-        <elements xsi:type="xtext:Assignment" feature="before" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="after"/>
-        <elements xsi:type="xtext:Assignment" feature="after" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="Impact"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="Result">
       <type metamodel="/0/@metamodelDeclarations.4">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//Result"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="Result"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="timestamp"/>
-        <elements xsi:type="xtext:Assignment" feature="timestamp" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="metricValues"/>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Assignment" feature="metricValues" operator="+=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Keyword" value=","/>
-          <elements xsi:type="xtext:Assignment" feature="metricValues" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="Result"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="EDate">
       <type metamodel="/0/@metamodelDeclarations.1">
@@ -979,95 +546,23 @@
       <type metamodel="/0/@metamodelDeclarations.4">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricValue"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="MetricValue"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="value"/>
-        <elements xsi:type="xtext:Assignment" feature="value" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="measuredEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="measuredEntity" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MeasuredEntity"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="metricType"/>
-        <elements xsi:type="xtext:Assignment" feature="metricType" operator="=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="MetricValue"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="MeasuredEntity">
       <type metamodel="/0/@metamodelDeclarations.4">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MeasuredEntity"/>
       </type>
-      <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="MeasuredEntity"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
-        <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="metricTypes"/>
-        <elements xsi:type="xtext:Keyword" value="("/>
-        <elements xsi:type="xtext:Assignment" feature="metricTypes" operator="+=">
-          <terminal xsi:type="xtext:CrossReference">
-            <type metamodel="/0/@metamodelDeclarations.4">
-              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/>
-            </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-          </terminal>
-        </elements>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Keyword" value=","/>
-          <elements xsi:type="xtext:Assignment" feature="metricTypes" operator="+=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.4">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-            </terminal>
-          </elements>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value=")"/>
-        <elements xsi:type="xtext:Keyword" value="}"/>
-      </alternatives>
+      <alternatives xsi:type="xtext:Keyword" value="MeasuredEntity"/>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="MetricType">
       <type metamodel="/0/@metamodelDeclarations.4">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/perfdata/0.1#//MetricType"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="MetricType"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="WeightedMetric">
@@ -1075,20 +570,15 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/adaptation/0.1#//WeightedMetric"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Keyword" value="WeightedMetric"/>
-        <elements xsi:type="xtext:Assignment" feature="id" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
-        </elements>
-        <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Keyword" value="name"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="weight"/>
+        <elements xsi:type="xtext:Keyword" value="="/>
         <elements xsi:type="xtext:Assignment" feature="weight" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="metricType"/>
+        <elements xsi:type="xtext:Keyword" value="ref"/>
+        <elements xsi:type="xtext:Keyword" value=":"/>
         <elements xsi:type="xtext:Assignment" feature="metricType" operator="=">
           <terminal xsi:type="xtext:CrossReference">
             <type metamodel="/0/@metamodelDeclarations.4">
@@ -1097,7 +587,6 @@
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
           </terminal>
         </elements>
-        <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
   </xtext:Grammar>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguageStandaloneSetupGenerated.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguageStandaloneSetupGenerated.java
index fdd97d5faac65cc4570fd623c6e5ce0df247e2e6..01aef12dedfac244b930455dc17792f78d424e77 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguageStandaloneSetupGenerated.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguageStandaloneSetupGenerated.java
@@ -1,4 +1,6 @@
-
+/*
+* generated by Xtext
+*/
 package edu.kit.ipd.descartes.mm.adaptation;
 
 import org.eclipse.emf.ecore.EPackage;
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parseTreeConstruction/StaAdaptationLanguageParsetreeConstructor.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parseTreeConstruction/StaAdaptationLanguageParsetreeConstructor.java
index 3dbd0a0ba49350015588b3ea97c9879122923f0b..db779b5abef8951d9700f4b9e311d4e9e96877ad 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parseTreeConstruction/StaAdaptationLanguageParsetreeConstructor.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parseTreeConstruction/StaAdaptationLanguageParsetreeConstructor.java
@@ -6,14 +6,13 @@ package edu.kit.ipd.descartes.mm.adaptation.parseTreeConstruction;
 import org.eclipse.emf.ecore.*;
 import org.eclipse.xtext.*;
 import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
-import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
 
 import edu.kit.ipd.descartes.mm.adaptation.services.StaAdaptationLanguageGrammarAccess;
 
 import com.google.inject.Inject;
 
 @SuppressWarnings("all")
-public class StaAdaptationLanguageParsetreeConstructor extends AbstractParseTreeConstructor {
+public class StaAdaptationLanguageParsetreeConstructor extends org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor {
 		
 	@Inject
 	private StaAdaptationLanguageGrammarAccess grammarAccess;
@@ -32,7 +31,7 @@ protected class ThisRootNode extends RootToken {
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new AdaptationProcess_Group(this, this, 0, inst);
-			case 1: return new AdaptationPoint_Alternatives(this, this, 1, inst);
+			case 1: return new AdaptationPoint_AdaptionPointKeyword(this, this, 1, inst);
 			case 2: return new AbstractControlFlowElement_Alternatives(this, this, 2, inst);
 			case 3: return new VariationType_Alternatives(this, this, 3, inst);
 			case 4: return new Tactic_Group(this, this, 4, inst);
@@ -42,24 +41,24 @@ protected class ThisRootNode extends RootToken {
 			case 8: return new OverallGoal_Group(this, this, 8, inst);
 			case 9: return new AdaptationPlan_Group(this, this, 9, inst);
 			case 10: return new StartAction_Group(this, this, 10, inst);
-			case 11: return new StopAction_Group(this, this, 11, inst);
-			case 12: return new LoopAction_Group(this, this, 12, inst);
-			case 13: return new BranchAction_Group(this, this, 13, inst);
-			case 14: return new ActionReference_Group(this, this, 14, inst);
-			case 15: return new AdaptationActionOperation_Group(this, this, 15, inst);
-			case 16: return new ModelVariableConfigurationRange_Group(this, this, 16, inst);
-			case 17: return new ModelEntityConfigurationRange_Group(this, this, 17, inst);
-			case 18: return new PropertyRange_Group(this, this, 18, inst);
-			case 19: return new SetOfConfigurations_Group(this, this, 19, inst);
-			case 20: return new OclConstraint_Group(this, this, 20, inst);
+			case 11: return new StopAction_StopActionKeyword(this, this, 11, inst);
+			case 12: return new LoopAction_LoopActionKeyword(this, this, 12, inst);
+			case 13: return new BranchAction_BranchActionKeyword(this, this, 13, inst);
+			case 14: return new ActionReference_ActionReferenceKeyword(this, this, 14, inst);
+			case 15: return new AdaptationActionOperation_AdaptionActionOperationKeyword(this, this, 15, inst);
+			case 16: return new ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword(this, this, 16, inst);
+			case 17: return new ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword(this, this, 17, inst);
+			case 18: return new PropertyRange_PropertyRangeKeyword(this, this, 18, inst);
+			case 19: return new SetOfConfigurations_SetOfConfigurationsKeyword(this, this, 19, inst);
+			case 20: return new OclConstraint_OclConstraintKeyword(this, this, 20, inst);
 			case 21: return new Objective_Group(this, this, 21, inst);
-			case 22: return new Event_Group(this, this, 22, inst);
+			case 22: return new Event_NameAssignment(this, this, 22, inst);
 			case 23: return new WeightedTactic_Group(this, this, 23, inst);
 			case 24: return new WeightingFunction_Group(this, this, 24, inst);
-			case 25: return new Impact_Group(this, this, 25, inst);
-			case 26: return new Result_Group(this, this, 26, inst);
-			case 27: return new MetricValue_Group(this, this, 27, inst);
-			case 28: return new MeasuredEntity_Group(this, this, 28, inst);
+			case 25: return new Impact_ImpactKeyword(this, this, 25, inst);
+			case 26: return new Result_ResultKeyword(this, this, 26, inst);
+			case 27: return new MetricValue_MetricValueKeyword(this, this, 27, inst);
+			case 28: return new MeasuredEntity_MeasuredEntityKeyword(this, this, 28, inst);
 			case 29: return new MetricType_Group(this, this, 29, inst);
 			case 30: return new WeightedMetric_Group(this, this, 30, inst);
 			default: return null;
@@ -71,17 +70,17 @@ protected class ThisRootNode extends RootToken {
 /************ begin Rule AdaptationProcess ****************
  *
  * 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 "}";
+ * 	"AdaptationProcess" name=EString //id=EString
+ * 	"{" "goal" goal=OverallGoal "actions" ":" actions+=Action ("," actions+=Action)* "tactics" ":" tactics+=Tactic (","
+ * 	tactics+=Tactic)* "strategies" ":" strategies+=Strategy ("," strategies+=Strategy)* ("parameters" ":"
+ * 	parameters+=Parameter ("," parameters+=Parameter)*)? "}";
  *
  **/
 
-// "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 "}"
+// "AdaptationProcess" name=EString //id=EString
+// "{" "goal" goal=OverallGoal "actions" ":" actions+=Action ("," actions+=Action)* "tactics" ":" tactics+=Tactic (","
+// tactics+=Tactic)* "strategies" ":" strategies+=Strategy ("," strategies+=Strategy)* ("parameters" ":"
+// parameters+=Parameter ("," parameters+=Parameter)*)? "}"
 protected class AdaptationProcess_Group extends GroupToken {
 	
 	public AdaptationProcess_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -96,7 +95,7 @@ protected class AdaptationProcess_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_23(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_18(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -131,16 +130,16 @@ protected class AdaptationProcess_AdaptationProcessKeyword_0 extends KeywordToke
 
 }
 
-// id=EString
-protected class AdaptationProcess_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class AdaptationProcess_NameAssignment_1 extends AssignmentToken  {
 	
-	public AdaptationProcess_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getIdAssignment_1();
+		return grammarAccess.getAdaptationProcessAccess().getNameAssignment_1();
 	}
 
     @Override
@@ -153,11 +152,11 @@ protected class AdaptationProcess_IdAssignment_1 extends AssignmentToken  {
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -165,6 +164,7 @@ protected class AdaptationProcess_IdAssignment_1 extends AssignmentToken  {
 
 }
 
+// //id=EString
 // "{"
 protected class AdaptationProcess_LeftCurlyBracketKeyword_2 extends KeywordToken  {
 	
@@ -180,23 +180,23 @@ protected class AdaptationProcess_LeftCurlyBracketKeyword_2 extends KeywordToken
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "name"
-protected class AdaptationProcess_NameKeyword_3 extends KeywordToken  {
+// "goal"
+protected class AdaptationProcess_GoalKeyword_3 extends KeywordToken  {
 	
-	public AdaptationProcess_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_GoalKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getNameKeyword_3();
+		return grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3();
 	}
 
     @Override
@@ -209,113 +209,125 @@ protected class AdaptationProcess_NameKeyword_3 extends KeywordToken  {
 
 }
 
-// name=EString
-protected class AdaptationProcess_NameAssignment_4 extends AssignmentToken  {
+// goal=OverallGoal
+protected class AdaptationProcess_GoalAssignment_4 extends AssignmentToken  {
 	
-	public AdaptationProcess_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_GoalAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getNameAssignment_4();
+		return grammarAccess.getAdaptationProcessAccess().getGoalAssignment_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
+		if((value = eObjectConsumer.getConsumable("goal",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("goal");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getOverallGoalRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0(); 
+				consumed = obj;
+				return param;
+			}
 		}
 		return null;
 	}
 
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new AdaptationProcess_GoalKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
 }
 
-// "tactics"
-protected class AdaptationProcess_TacticsKeyword_5 extends KeywordToken  {
+// "actions"
+protected class AdaptationProcess_ActionsKeyword_5 extends KeywordToken  {
 	
-	public AdaptationProcess_TacticsKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ActionsKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5();
+		return grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_GoalAssignment_4(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "{"
-protected class AdaptationProcess_LeftCurlyBracketKeyword_6 extends KeywordToken  {
+// ":"
+protected class AdaptationProcess_ColonKeyword_6 extends KeywordToken  {
 	
-	public AdaptationProcess_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ColonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6();
+		return grammarAccess.getAdaptationProcessAccess().getColonKeyword_6();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_TacticsKeyword_5(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_ActionsKeyword_5(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// tactics+=Tactic
-protected class AdaptationProcess_TacticsAssignment_7 extends AssignmentToken  {
+// actions+=Action
+protected class AdaptationProcess_ActionsAssignment_7 extends AssignmentToken  {
 	
-	public AdaptationProcess_TacticsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ActionsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_7();
+		return grammarAccess.getAdaptationProcessAccess().getActionsAssignment_7();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group(this, this, 0, inst);
+			case 0: return new Action_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("tactics",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tactics");
+		if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTacticRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getActionRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -327,13 +339,13 @@ protected class AdaptationProcess_TacticsAssignment_7 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_ColonKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
-// ("," tactics+=Tactic)*
+// ("," actions+=Action)*
 protected class AdaptationProcess_Group_8 extends GroupToken {
 	
 	public AdaptationProcess_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -348,7 +360,7 @@ protected class AdaptationProcess_Group_8 extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_TacticsAssignment_8_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_ActionsAssignment_8_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -371,42 +383,42 @@ protected class AdaptationProcess_CommaKeyword_8_0 extends KeywordToken  {
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new AdaptationProcess_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_TacticsAssignment_7(lastRuleCallOrigin, this, 1, inst);
+			case 1: return new AdaptationProcess_ActionsAssignment_7(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// tactics+=Tactic
-protected class AdaptationProcess_TacticsAssignment_8_1 extends AssignmentToken  {
+// actions+=Action
+protected class AdaptationProcess_ActionsAssignment_8_1 extends AssignmentToken  {
 	
-	public AdaptationProcess_TacticsAssignment_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ActionsAssignment_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_8_1();
+		return grammarAccess.getAdaptationProcessAccess().getActionsAssignment_8_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group(this, this, 0, inst);
+			case 0: return new Action_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("tactics",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tactics");
+		if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTacticRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getActionRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -425,102 +437,80 @@ protected class AdaptationProcess_TacticsAssignment_8_1 extends AssignmentToken
 }
 
 
-// "}"
-protected class AdaptationProcess_RightCurlyBracketKeyword_9 extends KeywordToken  {
+// "tactics"
+protected class AdaptationProcess_TacticsKeyword_9 extends KeywordToken  {
 	
-	public AdaptationProcess_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_TacticsKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9();
+		return grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new AdaptationProcess_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_TacticsAssignment_7(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "actions"
-protected class AdaptationProcess_ActionsKeyword_10 extends KeywordToken  {
-	
-	public AdaptationProcess_ActionsKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_ActionsAssignment_7(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "{"
-protected class AdaptationProcess_LeftCurlyBracketKeyword_11 extends KeywordToken  {
+// ":"
+protected class AdaptationProcess_ColonKeyword_10 extends KeywordToken  {
 	
-	public AdaptationProcess_LeftCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ColonKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11();
+		return grammarAccess.getAdaptationProcessAccess().getColonKeyword_10();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_ActionsKeyword_10(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_TacticsKeyword_9(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// actions+=Action
-protected class AdaptationProcess_ActionsAssignment_12 extends AssignmentToken  {
+// tactics+=Tactic
+protected class AdaptationProcess_TacticsAssignment_11 extends AssignmentToken  {
 	
-	public AdaptationProcess_ActionsAssignment_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_TacticsAssignment_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getActionsAssignment_12();
+		return grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_11();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group(this, this, 0, inst);
+			case 0: return new Tactic_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
+		if((value = eObjectConsumer.getConsumable("tactics",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tactics");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getTacticRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -532,28 +522,28 @@ protected class AdaptationProcess_ActionsAssignment_12 extends AssignmentToken
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_LeftCurlyBracketKeyword_11(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_ColonKeyword_10(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
-// ("," actions+=Action)*
-protected class AdaptationProcess_Group_13 extends GroupToken {
+// ("," tactics+=Tactic)*
+protected class AdaptationProcess_Group_12 extends GroupToken {
 	
-	public AdaptationProcess_Group_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGroup_13();
+		return grammarAccess.getAdaptationProcessAccess().getGroup_12();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_ActionsAssignment_13_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_TacticsAssignment_12_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -561,57 +551,57 @@ protected class AdaptationProcess_Group_13 extends GroupToken {
 }
 
 // ","
-protected class AdaptationProcess_CommaKeyword_13_0 extends KeywordToken  {
+protected class AdaptationProcess_CommaKeyword_12_0 extends KeywordToken  {
 	
-	public AdaptationProcess_CommaKeyword_13_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_CommaKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0();
+		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_Group_13(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_ActionsAssignment_12(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationProcess_Group_12(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_TacticsAssignment_11(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// actions+=Action
-protected class AdaptationProcess_ActionsAssignment_13_1 extends AssignmentToken  {
+// tactics+=Tactic
+protected class AdaptationProcess_TacticsAssignment_12_1 extends AssignmentToken  {
 	
-	public AdaptationProcess_ActionsAssignment_13_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_TacticsAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getActionsAssignment_13_1();
+		return grammarAccess.getAdaptationProcessAccess().getTacticsAssignment_12_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group(this, this, 0, inst);
+			case 0: return new Tactic_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions");
+		if((value = eObjectConsumer.getConsumable("tactics",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("tactics");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getTacticRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -623,74 +613,52 @@ protected class AdaptationProcess_ActionsAssignment_13_1 extends AssignmentToken
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_CommaKeyword_13_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_CommaKeyword_12_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 
-// "}"
-protected class AdaptationProcess_RightCurlyBracketKeyword_14 extends KeywordToken  {
-	
-	public AdaptationProcess_RightCurlyBracketKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationProcess_Group_13(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_ActionsAssignment_12(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
 // "strategies"
-protected class AdaptationProcess_StrategiesKeyword_15 extends KeywordToken  {
+protected class AdaptationProcess_StrategiesKeyword_13 extends KeywordToken  {
 	
-	public AdaptationProcess_StrategiesKeyword_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_StrategiesKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15();
+		return grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_14(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_Group_12(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_TacticsAssignment_11(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "{"
-protected class AdaptationProcess_LeftCurlyBracketKeyword_16 extends KeywordToken  {
+// ":"
+protected class AdaptationProcess_ColonKeyword_14 extends KeywordToken  {
 	
-	public AdaptationProcess_LeftCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ColonKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16();
+		return grammarAccess.getAdaptationProcessAccess().getColonKeyword_14();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_StrategiesKeyword_15(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_StrategiesKeyword_13(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -698,15 +666,15 @@ protected class AdaptationProcess_LeftCurlyBracketKeyword_16 extends KeywordToke
 }
 
 // strategies+=Strategy
-protected class AdaptationProcess_StrategiesAssignment_17 extends AssignmentToken  {
+protected class AdaptationProcess_StrategiesAssignment_15 extends AssignmentToken  {
 	
-	public AdaptationProcess_StrategiesAssignment_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_StrategiesAssignment_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_17();
+		return grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_15();
 	}
 
     @Override
@@ -725,7 +693,7 @@ protected class AdaptationProcess_StrategiesAssignment_17 extends AssignmentToke
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getStrategyRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -737,28 +705,28 @@ protected class AdaptationProcess_StrategiesAssignment_17 extends AssignmentToke
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_LeftCurlyBracketKeyword_16(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_ColonKeyword_14(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 // ("," strategies+=Strategy)*
-protected class AdaptationProcess_Group_18 extends GroupToken {
+protected class AdaptationProcess_Group_16 extends GroupToken {
 	
-	public AdaptationProcess_Group_18(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_Group_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGroup_18();
+		return grammarAccess.getAdaptationProcessAccess().getGroup_16();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_StrategiesAssignment_18_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_StrategiesAssignment_16_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -766,22 +734,22 @@ protected class AdaptationProcess_Group_18 extends GroupToken {
 }
 
 // ","
-protected class AdaptationProcess_CommaKeyword_18_0 extends KeywordToken  {
+protected class AdaptationProcess_CommaKeyword_16_0 extends KeywordToken  {
 	
-	public AdaptationProcess_CommaKeyword_18_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_CommaKeyword_16_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0();
+		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_Group_18(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_StrategiesAssignment_17(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationProcess_Group_16(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_StrategiesAssignment_15(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -789,15 +757,15 @@ protected class AdaptationProcess_CommaKeyword_18_0 extends KeywordToken  {
 }
 
 // strategies+=Strategy
-protected class AdaptationProcess_StrategiesAssignment_18_1 extends AssignmentToken  {
+protected class AdaptationProcess_StrategiesAssignment_16_1 extends AssignmentToken  {
 	
-	public AdaptationProcess_StrategiesAssignment_18_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_StrategiesAssignment_16_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_18_1();
+		return grammarAccess.getAdaptationProcessAccess().getStrategiesAssignment_16_1();
 	}
 
     @Override
@@ -816,7 +784,7 @@ protected class AdaptationProcess_StrategiesAssignment_18_1 extends AssignmentTo
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getStrategyRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -828,52 +796,30 @@ protected class AdaptationProcess_StrategiesAssignment_18_1 extends AssignmentTo
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_CommaKeyword_18_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_CommaKeyword_16_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 
-// "}"
-protected class AdaptationProcess_RightCurlyBracketKeyword_19 extends KeywordToken  {
-	
-	public AdaptationProcess_RightCurlyBracketKeyword_19(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationProcess_Group_18(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_StrategiesAssignment_17(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")?
-protected class AdaptationProcess_Group_20 extends GroupToken {
+// ("parameters" ":" parameters+=Parameter ("," parameters+=Parameter)*)?
+protected class AdaptationProcess_Group_17 extends GroupToken {
 	
-	public AdaptationProcess_Group_20(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_Group_17(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGroup_20();
+		return grammarAccess.getAdaptationProcessAccess().getGroup_17();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_20_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_Group_17_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_ParametersAssignment_17_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -881,43 +827,44 @@ protected class AdaptationProcess_Group_20 extends GroupToken {
 }
 
 // "parameters"
-protected class AdaptationProcess_ParametersKeyword_20_0 extends KeywordToken  {
+protected class AdaptationProcess_ParametersKeyword_17_0 extends KeywordToken  {
 	
-	public AdaptationProcess_ParametersKeyword_20_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ParametersKeyword_17_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0();
+		return grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_RightCurlyBracketKeyword_19(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_Group_16(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_StrategiesAssignment_15(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "{"
-protected class AdaptationProcess_LeftCurlyBracketKeyword_20_1 extends KeywordToken  {
+// ":"
+protected class AdaptationProcess_ColonKeyword_17_1 extends KeywordToken  {
 	
-	public AdaptationProcess_LeftCurlyBracketKeyword_20_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ColonKeyword_17_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1();
+		return grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_ParametersKeyword_20_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_ParametersKeyword_17_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -925,15 +872,15 @@ protected class AdaptationProcess_LeftCurlyBracketKeyword_20_1 extends KeywordTo
 }
 
 // parameters+=Parameter
-protected class AdaptationProcess_ParametersAssignment_20_2 extends AssignmentToken  {
+protected class AdaptationProcess_ParametersAssignment_17_2 extends AssignmentToken  {
 	
-	public AdaptationProcess_ParametersAssignment_20_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ParametersAssignment_17_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_2();
+		return grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_2();
 	}
 
     @Override
@@ -952,7 +899,7 @@ protected class AdaptationProcess_ParametersAssignment_20_2 extends AssignmentTo
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -964,28 +911,28 @@ protected class AdaptationProcess_ParametersAssignment_20_2 extends AssignmentTo
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_LeftCurlyBracketKeyword_20_1(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_ColonKeyword_17_1(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 // ("," parameters+=Parameter)*
-protected class AdaptationProcess_Group_20_3 extends GroupToken {
+protected class AdaptationProcess_Group_17_3 extends GroupToken {
 	
-	public AdaptationProcess_Group_20_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_Group_17_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGroup_20_3();
+		return grammarAccess.getAdaptationProcessAccess().getGroup_17_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_ParametersAssignment_20_3_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationProcess_ParametersAssignment_17_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -993,22 +940,22 @@ protected class AdaptationProcess_Group_20_3 extends GroupToken {
 }
 
 // ","
-protected class AdaptationProcess_CommaKeyword_20_3_0 extends KeywordToken  {
+protected class AdaptationProcess_CommaKeyword_17_3_0 extends KeywordToken  {
 	
-	public AdaptationProcess_CommaKeyword_20_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_CommaKeyword_17_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0();
+		return grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_Group_20_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_ParametersAssignment_20_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationProcess_Group_17_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_ParametersAssignment_17_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -1016,15 +963,15 @@ protected class AdaptationProcess_CommaKeyword_20_3_0 extends KeywordToken  {
 }
 
 // parameters+=Parameter
-protected class AdaptationProcess_ParametersAssignment_20_3_1 extends AssignmentToken  {
+protected class AdaptationProcess_ParametersAssignment_17_3_1 extends AssignmentToken  {
 	
-	public AdaptationProcess_ParametersAssignment_20_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_ParametersAssignment_17_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getParametersAssignment_20_3_1();
+		return grammarAccess.getAdaptationProcessAccess().getParametersAssignment_17_3_1();
 	}
 
     @Override
@@ -1043,7 +990,7 @@ protected class AdaptationProcess_ParametersAssignment_20_3_1 extends Assignment
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0(); 
+				element = grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -1055,30 +1002,32 @@ protected class AdaptationProcess_ParametersAssignment_20_3_1 extends Assignment
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new AdaptationProcess_CommaKeyword_20_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationProcess_CommaKeyword_17_3_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 
+
 // "}"
-protected class AdaptationProcess_RightCurlyBracketKeyword_20_4 extends KeywordToken  {
+protected class AdaptationProcess_RightCurlyBracketKeyword_18 extends KeywordToken  {
 	
-	public AdaptationProcess_RightCurlyBracketKeyword_20_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationProcess_RightCurlyBracketKeyword_18(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_20_4();
+		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_Group_20_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_ParametersAssignment_20_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationProcess_Group_17(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationProcess_Group_16(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new AdaptationProcess_StrategiesAssignment_15(lastRuleCallOrigin, this, 2, inst);
 			default: return null;
 		}	
 	}
@@ -1086,164 +1035,172 @@ protected class AdaptationProcess_RightCurlyBracketKeyword_20_4 extends KeywordT
 }
 
 
-// "goal"
-protected class AdaptationProcess_GoalKeyword_21 extends KeywordToken  {
+/************ end Rule AdaptationProcess ****************/
+
+
+/************ begin Rule AdaptationPoint ****************
+ *
+ * AdaptationPoint returns adaptationpoints::AdaptationPoint: //ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+ * 	"AdaptionPoint";
+ *
+ **/
+
+// //ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+// "AdaptionPoint"
+protected class AdaptationPoint_AdaptionPointKeyword extends KeywordToken  {
 	
-	public AdaptationProcess_GoalKeyword_21(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPoint_AdaptionPointKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGoalKeyword_21();
+		return grammarAccess.getAdaptationPointAccess().getAdaptionPointKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_Group_20(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationProcess_RightCurlyBracketKeyword_19(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// goal=OverallGoal
-protected class AdaptationProcess_GoalAssignment_22 extends AssignmentToken  {
-	
-	public AdaptationProcess_GoalAssignment_22(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+/************ end Rule AdaptationPoint ****************/
+
+
+/************ begin Rule AbstractControlFlowElement ****************
+ *
+ * AbstractControlFlowElement:
+ * 	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
+ *
+ **/
+
+// StartAction | StopAction | LoopAction | BranchAction | ActionReference
+protected class AbstractControlFlowElement_Alternatives extends AlternativesToken {
+
+	public AbstractControlFlowElement_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getGoalAssignment_22();
+	public Alternatives getGrammarElement() {
+		return grammarAccess.getAbstractControlFlowElementAccess().getAlternatives();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_Group(this, this, 0, inst);
+			case 0: return new AbstractControlFlowElement_StartActionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AbstractControlFlowElement_StopActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new AbstractControlFlowElement_LoopActionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
+			case 3: return new AbstractControlFlowElement_BranchActionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
+			case 4: return new AbstractControlFlowElement_ActionReferenceParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
+    @Override
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("goal",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("goal");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getOverallGoalRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_22_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
+		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
 	}
 
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new AdaptationProcess_GoalKeyword_21(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
 }
 
-// "}"
-protected class AdaptationProcess_RightCurlyBracketKeyword_23 extends KeywordToken  {
+// StartAction
+protected class AbstractControlFlowElement_StartActionParserRuleCall_0 extends RuleCallToken {
 	
-	public AdaptationProcess_RightCurlyBracketKeyword_23(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AbstractControlFlowElement_StartActionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23();
+	public RuleCall getGrammarElement() {
+		return grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationProcess_GoalAssignment_22(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new StartAction_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(checkForRecursion(StartAction_Group.class, eObjectConsumer)) return null;
+		return eObjectConsumer;
+	}
+	
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		switch(index) {
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+		}	
+	}	
 }
 
-
-/************ end Rule AdaptationProcess ****************/
-
-
-/************ begin Rule AdaptationPoint ****************
- *
- * AdaptationPoint returns adaptationpoints::AdaptationPoint:
- * 	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
- *
- **/
-
-// ModelVariableConfigurationRange | ModelEntityConfigurationRange
-protected class AdaptationPoint_Alternatives extends AlternativesToken {
-
-	public AdaptationPoint_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+// StopAction
+protected class AbstractControlFlowElement_StopActionParserRuleCall_1 extends RuleCallToken {
+	
+	public AbstractControlFlowElement_StopActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getAdaptationPointAccess().getAlternatives();
+	public RuleCall getGrammarElement() {
+		return grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPoint_ModelVariableConfigurationRangeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationPoint_ModelEntityConfigurationRangeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new StopAction_StopActionKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getModelEntityConfigurationRangeRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getModelVariableConfigurationRangeRule().getType().getClassifier())
-			return null;
+		if(checkForRecursion(StopAction_StopActionKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
-
+	
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		switch(index) {
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
+		}	
+	}	
 }
 
-// ModelVariableConfigurationRange
-protected class AdaptationPoint_ModelVariableConfigurationRangeParserRuleCall_0 extends RuleCallToken {
+// LoopAction
+protected class AbstractControlFlowElement_LoopActionParserRuleCall_2 extends RuleCallToken {
 	
-	public AdaptationPoint_ModelVariableConfigurationRangeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AbstractControlFlowElement_LoopActionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public RuleCall getGrammarElement() {
-		return grammarAccess.getAdaptationPointAccess().getModelVariableConfigurationRangeParserRuleCall_0();
+		return grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_Group(this, this, 0, inst);
+			case 0: return new LoopAction_LoopActionKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getModelVariableConfigurationRangeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ModelVariableConfigurationRange_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(LoopAction_LoopActionKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -1255,223 +1212,29 @@ protected class AdaptationPoint_ModelVariableConfigurationRangeParserRuleCall_0
 	}	
 }
 
-// ModelEntityConfigurationRange
-protected class AdaptationPoint_ModelEntityConfigurationRangeParserRuleCall_1 extends RuleCallToken {
+// BranchAction
+protected class AbstractControlFlowElement_BranchActionParserRuleCall_3 extends RuleCallToken {
 	
-	public AdaptationPoint_ModelEntityConfigurationRangeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AbstractControlFlowElement_BranchActionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public RuleCall getGrammarElement() {
-		return grammarAccess.getAdaptationPointAccess().getModelEntityConfigurationRangeParserRuleCall_1();
+		return grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_Group(this, this, 0, inst);
+			case 0: return new BranchAction_BranchActionKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getModelEntityConfigurationRangeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ModelEntityConfigurationRange_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-
-/************ end Rule AdaptationPoint ****************/
-
-
-/************ begin Rule AbstractControlFlowElement ****************
- *
- * AbstractControlFlowElement:
- * 	StartAction | StopAction | LoopAction | BranchAction | ActionReference;
- *
- **/
-
-// StartAction | StopAction | LoopAction | BranchAction | ActionReference
-protected class AbstractControlFlowElement_Alternatives extends AlternativesToken {
-
-	public AbstractControlFlowElement_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getAbstractControlFlowElementAccess().getAlternatives();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractControlFlowElement_StartActionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AbstractControlFlowElement_StopActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new AbstractControlFlowElement_LoopActionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new AbstractControlFlowElement_BranchActionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new AbstractControlFlowElement_ActionReferenceParserRuleCall_4(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getActionReferenceRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// StartAction
-protected class AbstractControlFlowElement_StartActionParserRuleCall_0 extends RuleCallToken {
-	
-	public AbstractControlFlowElement_StartActionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StartAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// StopAction
-protected class AbstractControlFlowElement_StopActionParserRuleCall_1 extends RuleCallToken {
-	
-	public AbstractControlFlowElement_StopActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		if(checkForRecursion(StopAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// LoopAction
-protected class AbstractControlFlowElement_LoopActionParserRuleCall_2 extends RuleCallToken {
-	
-	public AbstractControlFlowElement_LoopActionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(LoopAction_Group.class, eObjectConsumer)) return null;
-		return eObjectConsumer;
-	}
-	
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst);
-		}	
-	}	
-}
-
-// BranchAction
-protected class AbstractControlFlowElement_BranchActionParserRuleCall_3 extends RuleCallToken {
-	
-	public AbstractControlFlowElement_BranchActionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public RuleCall getGrammarElement() {
-		return grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(BranchAction_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(BranchAction_BranchActionKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -1498,16 +1261,14 @@ protected class AbstractControlFlowElement_ActionReferenceParserRuleCall_4 exten
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ActionReference_Group(this, this, 0, inst);
+			case 0: return new ActionReference_ActionReferenceKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getActionReferenceRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(ActionReference_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(ActionReference_ActionReferenceKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -1551,14 +1312,6 @@ protected class VariationType_Alternatives extends AlternativesToken {
 		}	
 	}
 
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPropertyRangeRule().getType().getClassifier() && 
-		   getEObject().eClass() != grammarAccess.getSetOfConfigurationsRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
 }
 
 // PropertyRange
@@ -1576,16 +1329,14 @@ protected class VariationType_PropertyRangeParserRuleCall_0 extends RuleCallToke
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new PropertyRange_Group(this, this, 0, inst);
+			case 0: return new PropertyRange_PropertyRangeKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPropertyRangeRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(PropertyRange_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(PropertyRange_PropertyRangeKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -1612,16 +1363,14 @@ protected class VariationType_SetOfConfigurationsParserRuleCall_1 extends RuleCa
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new SetOfConfigurations_Group(this, this, 0, inst);
+			case 0: return new SetOfConfigurations_SetOfConfigurationsKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSetOfConfigurationsRule().getType().getClassifier())
-			return null;
-		if(checkForRecursion(SetOfConfigurations_Group.class, eObjectConsumer)) return null;
+		if(checkForRecursion(SetOfConfigurations_SetOfConfigurationsKeyword.class, eObjectConsumer)) return null;
 		return eObjectConsumer;
 	}
 	
@@ -1641,15 +1390,13 @@ protected class VariationType_SetOfConfigurationsParserRuleCall_1 extends RuleCa
 /************ begin Rule Tactic ****************
  *
  * Tactic:
- * 	"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
- * 	inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
- * 	implementedPlan=AdaptationPlan "}";
+ * 	"Tactic" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+ * 	("output" ":" outputParam=[Parameter|EString])? "implementedPlan" ":" implementedPlan=AdaptationPlan "}";
  *
  **/
 
-// "Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
-// inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
-// implementedPlan=AdaptationPlan "}"
+// "Tactic" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+// ("output" ":" outputParam=[Parameter|EString])? "implementedPlan" ":" implementedPlan=AdaptationPlan "}"
 protected class Tactic_Group extends GroupToken {
 	
 	public Tactic_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -1664,7 +1411,7 @@ protected class Tactic_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1699,16 +1446,16 @@ protected class Tactic_TacticKeyword_0 extends KeywordToken  {
 
 }
 
-// id=EString
-protected class Tactic_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class Tactic_NameAssignment_1 extends AssignmentToken  {
 	
-	public Tactic_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getIdAssignment_1();
+		return grammarAccess.getTacticAccess().getNameAssignment_1();
 	}
 
     @Override
@@ -1721,11 +1468,11 @@ protected class Tactic_IdAssignment_1 extends AssignmentToken  {
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -1748,129 +1495,74 @@ protected class Tactic_LeftCurlyBracketKeyword_2 extends KeywordToken  {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Tactic_NameKeyword_3 extends KeywordToken  {
-	
-	public Tactic_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Tactic_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Tactic_NameAssignment_4 extends AssignmentToken  {
-	
-	public Tactic_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Tactic_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// ("inputParams" "(" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")?
-protected class Tactic_Group_5 extends GroupToken {
+// ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+protected class Tactic_Group_3 extends GroupToken {
 	
-	public Tactic_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTacticAccess().getGroup_5();
+		return grammarAccess.getTacticAccess().getGroup_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Tactic_InputParamsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "inputParams"
-protected class Tactic_InputParamsKeyword_5_0 extends KeywordToken  {
+// "input"
+protected class Tactic_InputKeyword_3_0 extends KeywordToken  {
 	
-	public Tactic_InputParamsKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_InputKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getInputParamsKeyword_5_0();
+		return grammarAccess.getTacticAccess().getInputKeyword_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "("
-protected class Tactic_LeftParenthesisKeyword_5_1 extends KeywordToken  {
+// ":"
+protected class Tactic_ColonKeyword_3_1 extends KeywordToken  {
 	
-	public Tactic_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_ColonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1();
+		return grammarAccess.getTacticAccess().getColonKeyword_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_InputParamsKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_InputKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1878,21 +1570,21 @@ protected class Tactic_LeftParenthesisKeyword_5_1 extends KeywordToken  {
 }
 
 // inputParams+=[Parameter|EString]
-protected class Tactic_InputParamsAssignment_5_2 extends AssignmentToken  {
+protected class Tactic_InputParamsAssignment_3_2 extends AssignmentToken  {
 	
-	public Tactic_InputParamsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_InputParamsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getInputParamsAssignment_5_2();
+		return grammarAccess.getTacticAccess().getInputParamsAssignment_3_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_ColonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1903,9 +1595,9 @@ protected class Tactic_InputParamsAssignment_5_2 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0(); 
+				element = grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0(); 
 				return obj;
 			}
 		}
@@ -1915,21 +1607,21 @@ protected class Tactic_InputParamsAssignment_5_2 extends AssignmentToken  {
 }
 
 // ("," inputParams+=[Parameter|EString])*
-protected class Tactic_Group_5_3 extends GroupToken {
+protected class Tactic_Group_3_3 extends GroupToken {
 	
-	public Tactic_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getTacticAccess().getGroup_5_3();
+		return grammarAccess.getTacticAccess().getGroup_3_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_InputParamsAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_InputParamsAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1937,22 +1629,22 @@ protected class Tactic_Group_5_3 extends GroupToken {
 }
 
 // ","
-protected class Tactic_CommaKeyword_5_3_0 extends KeywordToken  {
+protected class Tactic_CommaKeyword_3_3_0 extends KeywordToken  {
 	
-	public Tactic_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getCommaKeyword_5_3_0();
+		return grammarAccess.getTacticAccess().getCommaKeyword_3_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Tactic_InputParamsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Tactic_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Tactic_InputParamsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -1960,21 +1652,21 @@ protected class Tactic_CommaKeyword_5_3_0 extends KeywordToken  {
 }
 
 // inputParams+=[Parameter|EString]
-protected class Tactic_InputParamsAssignment_5_3_1 extends AssignmentToken  {
+protected class Tactic_InputParamsAssignment_3_3_1 extends AssignmentToken  {
 	
-	public Tactic_InputParamsAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_InputParamsAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getInputParamsAssignment_5_3_1();
+		return grammarAccess.getTacticAccess().getInputParamsAssignment_3_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_CommaKeyword_3_3_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1985,9 +1677,9 @@ protected class Tactic_InputParamsAssignment_5_3_1 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0(); 
+				element = grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0(); 
 				return obj;
 			}
 		}
@@ -1997,69 +1689,68 @@ protected class Tactic_InputParamsAssignment_5_3_1 extends AssignmentToken  {
 }
 
 
-// ")"
-protected class Tactic_RightParenthesisKeyword_5_4 extends KeywordToken  {
+
+// ("output" ":" outputParam=[Parameter|EString])?
+protected class Tactic_Group_4 extends GroupToken {
 	
-	public Tactic_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4();
+	public Group getGrammarElement() {
+		return grammarAccess.getTacticAccess().getGroup_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Tactic_InputParamsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Tactic_OutputParamAssignment_4_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-
-// ("outputParam" outputParam=[Parameter|EString])?
-protected class Tactic_Group_6 extends GroupToken {
+// "output"
+protected class Tactic_OutputKeyword_4_0 extends KeywordToken  {
 	
-	public Tactic_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_OutputKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getTacticAccess().getGroup_6();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getTacticAccess().getOutputKeyword_4_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_OutputParamAssignment_6_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_Group_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Tactic_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "outputParam"
-protected class Tactic_OutputParamKeyword_6_0 extends KeywordToken  {
+// ":"
+protected class Tactic_ColonKeyword_4_1 extends KeywordToken  {
 	
-	public Tactic_OutputParamKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_ColonKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getOutputParamKeyword_6_0();
+		return grammarAccess.getTacticAccess().getColonKeyword_4_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Tactic_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Tactic_OutputKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2067,21 +1758,21 @@ protected class Tactic_OutputParamKeyword_6_0 extends KeywordToken  {
 }
 
 // outputParam=[Parameter|EString]
-protected class Tactic_OutputParamAssignment_6_1 extends AssignmentToken  {
+protected class Tactic_OutputParamAssignment_4_2 extends AssignmentToken  {
 	
-	public Tactic_OutputParamAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_OutputParamAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getOutputParamAssignment_6_1();
+		return grammarAccess.getTacticAccess().getOutputParamAssignment_4_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_OutputParamKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_ColonKeyword_4_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2092,9 +1783,9 @@ protected class Tactic_OutputParamAssignment_6_1 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outputParam");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0(); 
+				element = grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0(); 
 				return obj;
 			}
 		}
@@ -2105,23 +1796,45 @@ protected class Tactic_OutputParamAssignment_6_1 extends AssignmentToken  {
 
 
 // "implementedPlan"
-protected class Tactic_ImplementedPlanKeyword_7 extends KeywordToken  {
+protected class Tactic_ImplementedPlanKeyword_5 extends KeywordToken  {
+	
+	public Tactic_ImplementedPlanKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getTacticAccess().getImplementedPlanKeyword_5();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Tactic_Group_4(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Tactic_Group_3(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new Tactic_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ":"
+protected class Tactic_ColonKeyword_6 extends KeywordToken  {
 	
-	public Tactic_ImplementedPlanKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_ColonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getImplementedPlanKeyword_7();
+		return grammarAccess.getTacticAccess().getColonKeyword_6();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Tactic_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Tactic_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
+			case 0: return new Tactic_ImplementedPlanKeyword_5(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2129,15 +1842,15 @@ protected class Tactic_ImplementedPlanKeyword_7 extends KeywordToken  {
 }
 
 // implementedPlan=AdaptationPlan
-protected class Tactic_ImplementedPlanAssignment_8 extends AssignmentToken  {
+protected class Tactic_ImplementedPlanAssignment_7 extends AssignmentToken  {
 	
-	public Tactic_ImplementedPlanAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_ImplementedPlanAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getTacticAccess().getImplementedPlanAssignment_8();
+		return grammarAccess.getTacticAccess().getImplementedPlanAssignment_7();
 	}
 
     @Override
@@ -2156,7 +1869,7 @@ protected class Tactic_ImplementedPlanAssignment_8 extends AssignmentToken  {
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getAdaptationPlanRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0(); 
+				element = grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -2168,28 +1881,28 @@ protected class Tactic_ImplementedPlanAssignment_8 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Tactic_ImplementedPlanKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Tactic_ColonKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 // "}"
-protected class Tactic_RightCurlyBracketKeyword_9 extends KeywordToken  {
+protected class Tactic_RightCurlyBracketKeyword_8 extends KeywordToken  {
 	
-	public Tactic_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Tactic_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9();
+		return grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Tactic_ImplementedPlanAssignment_8(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Tactic_ImplementedPlanAssignment_7(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2202,17 +1915,28 @@ protected class Tactic_RightCurlyBracketKeyword_9 extends KeywordToken  {
 
 /************ begin Rule Action ****************
  *
- * Action:
- * 	"Action" id=EString "{" "name" name=EString ("outputParam" outputParam=[Parameter|EString])? ("inputParams" "("
- * 	inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")? "referredAdaptationPoint"
- * 	referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation"
+ * //TODO referredAdaptionPoint
+ * //TODO ask because of adaptionActionOperation
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		('outputParam' outputParam=[Parameter|EString])?
+ * 		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
+ * 		'referredAdaptationPoint' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+ * 		'adaptationActionOperation' adaptationActionOperation=AdaptationActionOperation
+ * 	'}'
+ * * / Action:
+ * 	"Action" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+ * 	("output" ":" outputParam=[Parameter|EString])? "referredAdaptationPoint" ":"
+ * 	referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation" ":"
  * 	adaptationActionOperation=AdaptationActionOperation "}";
  *
  **/
 
-// "Action" id=EString "{" "name" name=EString ("outputParam" outputParam=[Parameter|EString])? ("inputParams" "("
-// inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")? "referredAdaptationPoint"
-// referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation"
+// "Action" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+// ("output" ":" outputParam=[Parameter|EString])? "referredAdaptationPoint" ":"
+// referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation" ":"
 // adaptationActionOperation=AdaptationActionOperation "}"
 protected class Action_Group extends GroupToken {
 	
@@ -2263,16 +1987,16 @@ protected class Action_ActionKeyword_0 extends KeywordToken  {
 
 }
 
-// id=EString
-protected class Action_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class Action_NameAssignment_1 extends AssignmentToken  {
 	
-	public Action_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getIdAssignment_1();
+		return grammarAccess.getActionAccess().getNameAssignment_1();
 	}
 
     @Override
@@ -2285,11 +2009,11 @@ protected class Action_IdAssignment_1 extends AssignmentToken  {
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -2312,142 +2036,109 @@ protected class Action_LeftCurlyBracketKeyword_2 extends KeywordToken  {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Action_NameKeyword_3 extends KeywordToken  {
-	
-	public Action_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Action_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// name=EString
-protected class Action_NameAssignment_4 extends AssignmentToken  {
+// ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+protected class Action_Group_3 extends GroupToken {
 	
-	public Action_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getNameAssignment_4();
+	public Group getGrammarElement() {
+		return grammarAccess.getActionAccess().getGroup_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Action_InputParamsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// ("outputParam" outputParam=[Parameter|EString])?
-protected class Action_Group_5 extends GroupToken {
+// "input"
+protected class Action_InputKeyword_3_0 extends KeywordToken  {
 	
-	public Action_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_InputKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getActionAccess().getGroup_5();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getActionAccess().getInputKeyword_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_OutputParamAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "outputParam"
-protected class Action_OutputParamKeyword_5_0 extends KeywordToken  {
+// ":"
+protected class Action_ColonKeyword_3_1 extends KeywordToken  {
 	
-	public Action_OutputParamKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_ColonKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getOutputParamKeyword_5_0();
+		return grammarAccess.getActionAccess().getColonKeyword_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_InputKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// outputParam=[Parameter|EString]
-protected class Action_OutputParamAssignment_5_1 extends AssignmentToken  {
+// inputParams+=[Parameter|EString]
+protected class Action_InputParamsAssignment_3_2 extends AssignmentToken  {
 	
-	public Action_OutputParamAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_InputParamsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getOutputParamAssignment_5_1();
+		return grammarAccess.getActionAccess().getInputParamsAssignment_3_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_OutputParamKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_ColonKeyword_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("outputParam",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outputParam");
+		if((value = eObjectConsumer.getConsumable("inputParams",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0(); 
+				element = grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0(); 
 				return obj;
 			}
 		}
@@ -2456,185 +2147,186 @@ protected class Action_OutputParamAssignment_5_1 extends AssignmentToken  {
 
 }
 
-
-// ("inputParams" "(" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])* ")")?
-protected class Action_Group_6 extends GroupToken {
+// ("," inputParams+=[Parameter|EString])*
+protected class Action_Group_3_3 extends GroupToken {
 	
-	public Action_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getActionAccess().getGroup_6();
+		return grammarAccess.getActionAccess().getGroup_3_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_RightParenthesisKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_InputParamsAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "inputParams"
-protected class Action_InputParamsKeyword_6_0 extends KeywordToken  {
+// ","
+protected class Action_CommaKeyword_3_3_0 extends KeywordToken  {
 	
-	public Action_InputParamsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getInputParamsKeyword_6_0();
+		return grammarAccess.getActionAccess().getCommaKeyword_3_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Action_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Action_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Action_InputParamsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "("
-protected class Action_LeftParenthesisKeyword_6_1 extends KeywordToken  {
+// inputParams+=[Parameter|EString]
+protected class Action_InputParamsAssignment_3_3_1 extends AssignmentToken  {
 	
-	public Action_LeftParenthesisKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_InputParamsAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getActionAccess().getInputParamsAssignment_3_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_InputParamsKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_CommaKeyword_3_3_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("inputParams",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0().getType().getClassifier())) {
+				type = AssignmentType.CROSS_REFERENCE;
+				element = grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0(); 
+				return obj;
+			}
+		}
+		return null;
+	}
+
 }
 
-// inputParams+=[Parameter|EString]
-protected class Action_InputParamsAssignment_6_2 extends AssignmentToken  {
+
+
+// ("output" ":" outputParam=[Parameter|EString])?
+protected class Action_Group_4 extends GroupToken {
 	
-	public Action_InputParamsAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getInputParamsAssignment_6_2();
+	public Group getGrammarElement() {
+		return grammarAccess.getActionAccess().getGroup_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_LeftParenthesisKeyword_6_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_OutputParamAssignment_4_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("inputParams",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
 }
 
-// ("," inputParams+=[Parameter|EString])*
-protected class Action_Group_6_3 extends GroupToken {
+// "output"
+protected class Action_OutputKeyword_4_0 extends KeywordToken  {
 	
-	public Action_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_OutputKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getActionAccess().getGroup_6_3();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getActionAccess().getOutputKeyword_4_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_InputParamsAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_Group_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Action_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// ","
-protected class Action_CommaKeyword_6_3_0 extends KeywordToken  {
+// ":"
+protected class Action_ColonKeyword_4_1 extends KeywordToken  {
 	
-	public Action_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_ColonKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getCommaKeyword_6_3_0();
+		return grammarAccess.getActionAccess().getColonKeyword_4_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Action_InputParamsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Action_OutputKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// inputParams+=[Parameter|EString]
-protected class Action_InputParamsAssignment_6_3_1 extends AssignmentToken  {
+// outputParam=[Parameter|EString]
+protected class Action_OutputParamAssignment_4_2 extends AssignmentToken  {
 	
-	public Action_InputParamsAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_OutputParamAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getInputParamsAssignment_6_3_1();
+		return grammarAccess.getActionAccess().getOutputParamAssignment_4_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_CommaKeyword_6_3_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_ColonKeyword_4_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("inputParams",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("inputParams");
+		if((value = eObjectConsumer.getConsumable("outputParam",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outputParam");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0(); 
+				element = grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0(); 
 				return obj;
 			}
 		}
@@ -2644,48 +2336,46 @@ protected class Action_InputParamsAssignment_6_3_1 extends AssignmentToken  {
 }
 
 
-// ")"
-protected class Action_RightParenthesisKeyword_6_4 extends KeywordToken  {
+// "referredAdaptationPoint"
+protected class Action_ReferredAdaptationPointKeyword_5 extends KeywordToken  {
 	
-	public Action_RightParenthesisKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_ReferredAdaptationPointKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4();
+		return grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group_6_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Action_InputParamsAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Action_Group_4(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Action_Group_3(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new Action_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-
-// "referredAdaptationPoint"
-protected class Action_ReferredAdaptationPointKeyword_7 extends KeywordToken  {
+// ":"
+protected class Action_ColonKeyword_6 extends KeywordToken  {
 	
-	public Action_ReferredAdaptationPointKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_ColonKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7();
+		return grammarAccess.getActionAccess().getColonKeyword_6();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Action_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Action_NameAssignment_4(lastRuleCallOrigin, this, 2, inst);
+			case 0: return new Action_ReferredAdaptationPointKeyword_5(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2693,21 +2383,21 @@ protected class Action_ReferredAdaptationPointKeyword_7 extends KeywordToken  {
 }
 
 // referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
-protected class Action_ReferredAdaptationPointAssignment_8 extends AssignmentToken  {
+protected class Action_ReferredAdaptationPointAssignment_7 extends AssignmentToken  {
 	
-	public Action_ReferredAdaptationPointAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Action_ReferredAdaptationPointAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_8();
+		return grammarAccess.getActionAccess().getReferredAdaptationPointAssignment_7();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_ReferredAdaptationPointKeyword_7(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_ColonKeyword_6(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2718,9 +2408,9 @@ protected class Action_ReferredAdaptationPointAssignment_8 extends AssignmentTok
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("referredAdaptationPoint");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0(); 
+				element = grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0(); 
 				return obj;
 			}
 		}
@@ -2730,21 +2420,43 @@ protected class Action_ReferredAdaptationPointAssignment_8 extends AssignmentTok
 }
 
 // "adaptationActionOperation"
-protected class Action_AdaptationActionOperationKeyword_9 extends KeywordToken  {
+protected class Action_AdaptationActionOperationKeyword_8 extends KeywordToken  {
+	
+	public Action_AdaptationActionOperationKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
 	
-	public Action_AdaptationActionOperationKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Action_ReferredAdaptationPointAssignment_7(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ":"
+protected class Action_ColonKeyword_9 extends KeywordToken  {
+	
+	public Action_ColonKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9();
+		return grammarAccess.getActionAccess().getColonKeyword_9();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Action_ReferredAdaptationPointAssignment_8(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Action_AdaptationActionOperationKeyword_8(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2766,7 +2478,7 @@ protected class Action_AdaptationActionOperationAssignment_10 extends Assignment
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationActionOperation_Group(this, this, 0, inst);
+			case 0: return new AdaptationActionOperation_AdaptionActionOperationKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -2791,7 +2503,7 @@ protected class Action_AdaptationActionOperationAssignment_10 extends Assignment
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Action_AdaptationActionOperationKeyword_9(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Action_ColonKeyword_9(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
@@ -2825,15 +2537,24 @@ protected class Action_RightCurlyBracketKeyword_11 extends KeywordToken  {
 
 /************ begin Rule Strategy ****************
  *
- * Strategy:
- * 	"Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
- * 	triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'objective' objective=[Objective|EString]
+ * 		'triggeringEvents' triggeringEvents=Event
+ * 		'tactics' '{' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)* '}' 
+ * 		'weightingFunction' weightingFunction=WeightingFunction
+ * 	'}'
+ * * / Strategy:
+ * 	"Strategy" name=EString "{" "objective" "=" objective=[Objective|EString] "triggeringEvents" "="
+ * 	triggeringEvents=Event "tactics" ":" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "weightingFunction" ":"
  * 	weightingFunction=WeightingFunction "}";
  *
  **/
 
-// "Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
-// triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+// "Strategy" name=EString "{" "objective" "=" objective=[Objective|EString] "triggeringEvents" "=" triggeringEvents=Event
+// "tactics" ":" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "weightingFunction" ":"
 // weightingFunction=WeightingFunction "}"
 protected class Strategy_Group extends GroupToken {
 	
@@ -2884,16 +2605,16 @@ protected class Strategy_StrategyKeyword_0 extends KeywordToken  {
 
 }
 
-// id=EString
-protected class Strategy_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class Strategy_NameAssignment_1 extends AssignmentToken  {
 	
-	public Strategy_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getIdAssignment_1();
+		return grammarAccess.getStrategyAccess().getNameAssignment_1();
 	}
 
     @Override
@@ -2906,11 +2627,11 @@ protected class Strategy_IdAssignment_1 extends AssignmentToken  {
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -2933,23 +2654,23 @@ protected class Strategy_LeftCurlyBracketKeyword_2 extends KeywordToken  {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Strategy_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Strategy_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "name"
-protected class Strategy_NameKeyword_3 extends KeywordToken  {
+// "objective"
+protected class Strategy_ObjectiveKeyword_3 extends KeywordToken  {
 	
-	public Strategy_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_ObjectiveKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getNameKeyword_3();
+		return grammarAccess.getStrategyAccess().getObjectiveKeyword_3();
 	}
 
     @Override
@@ -2962,56 +2683,22 @@ protected class Strategy_NameKeyword_3 extends KeywordToken  {
 
 }
 
-// name=EString
-protected class Strategy_NameAssignment_4 extends AssignmentToken  {
-	
-	public Strategy_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Strategy_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "objective"
-protected class Strategy_ObjectiveKeyword_5 extends KeywordToken  {
+// "="
+protected class Strategy_EqualsSignKeyword_4 extends KeywordToken  {
 	
-	public Strategy_ObjectiveKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_EqualsSignKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getObjectiveKeyword_5();
+		return grammarAccess.getStrategyAccess().getEqualsSignKeyword_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Strategy_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Strategy_ObjectiveKeyword_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3019,21 +2706,21 @@ protected class Strategy_ObjectiveKeyword_5 extends KeywordToken  {
 }
 
 // objective=[Objective|EString]
-protected class Strategy_ObjectiveAssignment_6 extends AssignmentToken  {
+protected class Strategy_ObjectiveAssignment_5 extends AssignmentToken  {
 	
-	public Strategy_ObjectiveAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_ObjectiveAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getObjectiveAssignment_6();
+		return grammarAccess.getStrategyAccess().getObjectiveAssignment_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Strategy_ObjectiveKeyword_5(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Strategy_EqualsSignKeyword_4(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3044,9 +2731,9 @@ protected class Strategy_ObjectiveAssignment_6 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("objective");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0(); 
+				element = grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0(); 
 				return obj;
 			}
 		}
@@ -3056,21 +2743,43 @@ protected class Strategy_ObjectiveAssignment_6 extends AssignmentToken  {
 }
 
 // "triggeringEvents"
-protected class Strategy_TriggeringEventsKeyword_7 extends KeywordToken  {
+protected class Strategy_TriggeringEventsKeyword_6 extends KeywordToken  {
+	
+	public Strategy_TriggeringEventsKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Strategy_ObjectiveAssignment_5(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "="
+protected class Strategy_EqualsSignKeyword_7 extends KeywordToken  {
 	
-	public Strategy_TriggeringEventsKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_EqualsSignKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7();
+		return grammarAccess.getStrategyAccess().getEqualsSignKeyword_7();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Strategy_ObjectiveAssignment_6(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Strategy_TriggeringEventsKeyword_6(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3092,7 +2801,7 @@ protected class Strategy_TriggeringEventsAssignment_8 extends AssignmentToken  {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Event_Group(this, this, 0, inst);
+			case 0: return new Event_NameAssignment(this, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3117,7 +2826,7 @@ protected class Strategy_TriggeringEventsAssignment_8 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Strategy_TriggeringEventsKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Strategy_EqualsSignKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
@@ -3145,16 +2854,16 @@ protected class Strategy_TacticsKeyword_9 extends KeywordToken  {
 
 }
 
-// "{"
-protected class Strategy_LeftCurlyBracketKeyword_10 extends KeywordToken  {
+// ":"
+protected class Strategy_ColonKeyword_10 extends KeywordToken  {
 	
-	public Strategy_LeftCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_ColonKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10();
+		return grammarAccess.getStrategyAccess().getColonKeyword_10();
 	}
 
     @Override
@@ -3207,7 +2916,7 @@ protected class Strategy_TacticsAssignment_11 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Strategy_LeftCurlyBracketKeyword_10(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Strategy_ColonKeyword_10(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
@@ -3305,16 +3014,16 @@ protected class Strategy_TacticsAssignment_12_1 extends AssignmentToken  {
 }
 
 
-// "}"
-protected class Strategy_RightCurlyBracketKeyword_13 extends KeywordToken  {
+// "weightingFunction"
+protected class Strategy_WeightingFunctionKeyword_13 extends KeywordToken  {
 	
-	public Strategy_RightCurlyBracketKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_WeightingFunctionKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13();
+		return grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13();
 	}
 
     @Override
@@ -3328,22 +3037,22 @@ protected class Strategy_RightCurlyBracketKeyword_13 extends KeywordToken  {
 
 }
 
-// "weightingFunction"
-protected class Strategy_WeightingFunctionKeyword_14 extends KeywordToken  {
+// ":"
+protected class Strategy_ColonKeyword_14 extends KeywordToken  {
 	
-	public Strategy_WeightingFunctionKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Strategy_ColonKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14();
+		return grammarAccess.getStrategyAccess().getColonKeyword_14();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Strategy_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Strategy_WeightingFunctionKeyword_13(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3390,7 +3099,7 @@ protected class Strategy_WeightingFunctionAssignment_15 extends AssignmentToken
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Strategy_WeightingFunctionKeyword_14(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Strategy_ColonKeyword_14(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
@@ -3424,12 +3133,17 @@ protected class Strategy_RightCurlyBracketKeyword_16 extends KeywordToken  {
 
 /************ begin Rule Parameter ****************
  *
- * Parameter:
- * 	"Parameter" name=EString "{" "type" type=EString "}";
+ * / *
+ * 	name=EString
+ * 	'{'
+ * 		'type' type=EString
+ * 	'}'
+ * * / Parameter:
+ * 	type=EString name=EString;
  *
  **/
 
-// "Parameter" name=EString "{" "type" type=EString "}"
+// type=EString name=EString
 protected class Parameter_Group extends GroupToken {
 	
 	public Parameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -3444,7 +3158,7 @@ protected class Parameter_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Parameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3458,16 +3172,16 @@ protected class Parameter_Group extends GroupToken {
 
 }
 
-// "Parameter"
-protected class Parameter_ParameterKeyword_0 extends KeywordToken  {
+// type=EString
+protected class Parameter_TypeAssignment_0 extends AssignmentToken  {
 	
-	public Parameter_ParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Parameter_TypeAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getParameterKeyword_0();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getParameterAccess().getTypeAssignment_0();
 	}
 
     @Override
@@ -3477,6 +3191,18 @@ protected class Parameter_ParameterKeyword_0 extends KeywordToken  {
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0();
+			return obj;
+		}
+		return null;
+	}
+
 }
 
 // name=EString
@@ -3494,7 +3220,7 @@ protected class Parameter_NameAssignment_1 extends AssignmentToken  {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_ParameterKeyword_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Parameter_TypeAssignment_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3513,77 +3239,117 @@ protected class Parameter_NameAssignment_1 extends AssignmentToken  {
 
 }
 
-// "{"
-protected class Parameter_LeftCurlyBracketKeyword_2 extends KeywordToken  {
+
+/************ end Rule Parameter ****************/
+
+
+/************ begin Rule OverallGoal ****************
+ *
+ * OverallGoal:
+ * 	"Description" ":" description=EString "objectives" ":" objectives+=Objective ("," objectives+=Objective)*;
+ *
+ **/
+
+// "Description" ":" description=EString "objectives" ":" objectives+=Objective ("," objectives+=Objective)*
+protected class OverallGoal_Group extends GroupToken {
+	
+	public OverallGoal_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getOverallGoalAccess().getGroup();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new OverallGoal_Group_6(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new OverallGoal_ObjectivesAssignment_5(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(getEObject().eClass() != grammarAccess.getOverallGoalRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
+	}
+
+}
+
+// "Description"
+protected class OverallGoal_DescriptionKeyword_0 extends KeywordToken  {
 	
-	public Parameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_DescriptionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2();
+		return grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// "type"
-protected class Parameter_TypeKeyword_3 extends KeywordToken  {
+// ":"
+protected class OverallGoal_ColonKeyword_1 extends KeywordToken  {
 	
-	public Parameter_TypeKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getTypeKeyword_3();
+		return grammarAccess.getOverallGoalAccess().getColonKeyword_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_DescriptionKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// type=EString
-protected class Parameter_TypeAssignment_4 extends AssignmentToken  {
+// description=EString
+protected class OverallGoal_DescriptionAssignment_2 extends AssignmentToken  {
 	
-	public Parameter_TypeAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_DescriptionAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getParameterAccess().getTypeAssignment_4();
+		return grammarAccess.getOverallGoalAccess().getDescriptionAssignment_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_TypeKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_ColonKeyword_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("type",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0();
+			element = grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0();
 			return obj;
 		}
 		return null;
@@ -3591,242 +3357,263 @@ protected class Parameter_TypeAssignment_4 extends AssignmentToken  {
 
 }
 
-// "}"
-protected class Parameter_RightCurlyBracketKeyword_5 extends KeywordToken  {
+// "objectives"
+protected class OverallGoal_ObjectivesKeyword_3 extends KeywordToken  {
 	
-	public Parameter_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_ObjectivesKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5();
+		return grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Parameter_TypeAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_DescriptionAssignment_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-
-/************ end Rule Parameter ****************/
-
-
-/************ begin Rule OverallGoal ****************
- *
- * OverallGoal:
- * 	"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective (","
- * 	objectives+=Objective)* "}" "}";
- *
- **/
-
-// "OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective ("," objectives+=Objective)*
-// "}" "}"
-protected class OverallGoal_Group extends GroupToken {
+// ":"
+protected class OverallGoal_ColonKeyword_4 extends KeywordToken  {
 	
-	public OverallGoal_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_ColonKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getGroup();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getOverallGoalAccess().getColonKeyword_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_ObjectivesKeyword_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getOverallGoalRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
 }
 
-// "OverallGoal"
-protected class OverallGoal_OverallGoalKeyword_0 extends KeywordToken  {
+// objectives+=Objective
+protected class OverallGoal_ObjectivesAssignment_5 extends AssignmentToken  {
 	
-	public OverallGoal_OverallGoalKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_ObjectivesAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getOverallGoalAccess().getObjectivesAssignment_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+			case 0: return new Objective_Group(this, this, 0, inst);
+			default: return null;
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("objectives",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("objectives");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getObjectiveRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new OverallGoal_ColonKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
 }
 
-// "{"
-protected class OverallGoal_LeftCurlyBracketKeyword_1 extends KeywordToken  {
+// ("," objectives+=Objective)*
+protected class OverallGoal_Group_6 extends GroupToken {
 	
-	public OverallGoal_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1();
+	public Group getGrammarElement() {
+		return grammarAccess.getOverallGoalAccess().getGroup_6();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_OverallGoalKeyword_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_ObjectivesAssignment_6_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "description"
-protected class OverallGoal_DescriptionKeyword_2 extends KeywordToken  {
+// ","
+protected class OverallGoal_CommaKeyword_6_0 extends KeywordToken  {
 	
-	public OverallGoal_DescriptionKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_CommaKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2();
+		return grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_Group_6(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new OverallGoal_ObjectivesAssignment_5(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// description=EString
-protected class OverallGoal_DescriptionAssignment_3 extends AssignmentToken  {
+// objectives+=Objective
+protected class OverallGoal_ObjectivesAssignment_6_1 extends AssignmentToken  {
 	
-	public OverallGoal_DescriptionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OverallGoal_ObjectivesAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getDescriptionAssignment_3();
+		return grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_DescriptionKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Objective_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("description",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0();
-			return obj;
+		if((value = eObjectConsumer.getConsumable("objectives",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("objectives");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getObjectiveRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0(); 
+				consumed = obj;
+				return param;
+			}
 		}
 		return null;
 	}
 
-}
-
-// "objectives"
-protected class OverallGoal_ObjectivesKeyword_4 extends KeywordToken  {
-	
-	public OverallGoal_ObjectivesKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4();
-	}
-
     @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new OverallGoal_DescriptionAssignment_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new OverallGoal_CommaKeyword_6_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
-	}
-
+	}	
 }
 
-// "{"
-protected class OverallGoal_LeftCurlyBracketKeyword_5 extends KeywordToken  {
+
+
+/************ end Rule OverallGoal ****************/
+
+
+/************ begin Rule AdaptationPlan ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		('steps' '{' steps+=AbstractControlFlowElement ( "," steps+=AbstractControlFlowElement)* '}' )?
+ * 	'}'
+ * * / AdaptationPlan:
+ * 	steps+=StartAction ("," steps+=AbstractControlFlowElement)* "," steps+=StopAction;
+ *
+ **/
+
+// steps+=StartAction ("," steps+=AbstractControlFlowElement)* "," steps+=StopAction
+protected class AdaptationPlan_Group extends GroupToken {
 	
-	public OverallGoal_LeftCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5();
+	public Group getGrammarElement() {
+		return grammarAccess.getAdaptationPlanAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_ObjectivesKeyword_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationPlan_StepsAssignment_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(getEObject().eClass() != grammarAccess.getAdaptationPlanRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
+	}
+
 }
 
-// objectives+=Objective
-protected class OverallGoal_ObjectivesAssignment_6 extends AssignmentToken  {
+// steps+=StartAction
+protected class AdaptationPlan_StepsAssignment_0 extends AssignmentToken  {
 	
-	public OverallGoal_ObjectivesAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_StepsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getObjectivesAssignment_6();
+		return grammarAccess.getAdaptationPlanAccess().getStepsAssignment_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Objective_Group(this, this, 0, inst);
+			case 0: return new StartAction_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("objectives",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("objectives");
+		if((value = eObjectConsumer.getConsumable("steps",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("steps");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getObjectiveRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getStartActionRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0(); 
+				element = grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -3838,28 +3625,27 @@ protected class OverallGoal_ObjectivesAssignment_6 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new OverallGoal_LeftCurlyBracketKeyword_5(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
 		}	
 	}	
 }
 
-// ("," objectives+=Objective)*
-protected class OverallGoal_Group_7 extends GroupToken {
+// ("," steps+=AbstractControlFlowElement)*
+protected class AdaptationPlan_Group_1 extends GroupToken {
 	
-	public OverallGoal_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getGroup_7();
+		return grammarAccess.getAdaptationPlanAccess().getGroup_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_ObjectivesAssignment_7_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new AdaptationPlan_StepsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -3867,57 +3653,57 @@ protected class OverallGoal_Group_7 extends GroupToken {
 }
 
 // ","
-protected class OverallGoal_CommaKeyword_7_0 extends KeywordToken  {
+protected class AdaptationPlan_CommaKeyword_1_0 extends KeywordToken  {
 	
-	public OverallGoal_CommaKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0();
+		return grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new OverallGoal_ObjectivesAssignment_6(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationPlan_Group_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationPlan_StepsAssignment_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// objectives+=Objective
-protected class OverallGoal_ObjectivesAssignment_7_1 extends AssignmentToken  {
+// steps+=AbstractControlFlowElement
+protected class AdaptationPlan_StepsAssignment_1_1 extends AssignmentToken  {
 	
-	public OverallGoal_ObjectivesAssignment_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_StepsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getObjectivesAssignment_7_1();
+		return grammarAccess.getAdaptationPlanAccess().getStepsAssignment_1_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Objective_Group(this, this, 0, inst);
+			case 0: return new AbstractControlFlowElement_Alternatives(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("objectives",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("objectives");
+		if((value = eObjectConsumer.getConsumable("steps",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("steps");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getObjectiveRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getAbstractControlFlowElementRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0(); 
+				element = grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -3929,110 +3715,138 @@ protected class OverallGoal_ObjectivesAssignment_7_1 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new OverallGoal_CommaKeyword_7_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new AdaptationPlan_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 
-// "}"
-protected class OverallGoal_RightCurlyBracketKeyword_8 extends KeywordToken  {
+// ","
+protected class AdaptationPlan_CommaKeyword_2 extends KeywordToken  {
 	
-	public OverallGoal_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_CommaKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8();
+		return grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_Group_7(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new OverallGoal_ObjectivesAssignment_6(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new AdaptationPlan_Group_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new AdaptationPlan_StepsAssignment_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "}"
-protected class OverallGoal_RightCurlyBracketKeyword_9 extends KeywordToken  {
+// steps+=StopAction
+protected class AdaptationPlan_StepsAssignment_3 extends AssignmentToken  {
 	
-	public OverallGoal_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationPlan_StepsAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getAdaptationPlanAccess().getStepsAssignment_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new OverallGoal_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new StopAction_StopActionKeyword(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("steps",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("steps");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getStopActionRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new AdaptationPlan_CommaKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
 }
 
 
-/************ end Rule OverallGoal ****************/
+/************ end Rule AdaptationPlan ****************/
 
 
-/************ begin Rule AdaptationPlan ****************
+/************ begin Rule StartAction ****************
  *
- * AdaptationPlan:
- * 	"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
- * 	steps+=AbstractControlFlowElement)* "}")? "}";
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+ * 		('successor' successor=[AbstractControlFlowElement|EString])?
+ * 	'}'
+ * * / StartAction:
+ * 	{StartAction} "StartAction";
  *
  **/
 
-// "AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
-// steps+=AbstractControlFlowElement)* "}")? "}"
-protected class AdaptationPlan_Group extends GroupToken {
+// {StartAction} "StartAction"
+protected class StartAction_Group extends GroupToken {
 	
-	public AdaptationPlan_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public StartAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getGroup();
+		return grammarAccess.getStartActionAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new StartAction_StartActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAdaptationPlanRule().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// "AdaptationPlan"
-protected class AdaptationPlan_AdaptationPlanKeyword_0 extends KeywordToken  {
-	
-	public AdaptationPlan_AdaptationPlanKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+// {StartAction}
+protected class StartAction_StartActionAction_0 extends ActionToken  {
+
+	public StartAction_StartActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0();
+	public Action getGrammarElement() {
+		return grammarAccess.getStartActionAccess().getStartActionAction_0();
 	}
 
     @Override
@@ -4042,6322 +3856,473 @@ protected class AdaptationPlan_AdaptationPlanKeyword_0 extends KeywordToken  {
 		}	
 	}
 
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(!eObjectConsumer.isConsumed()) return null;
+		return eObjectConsumer;
+	}
 }
 
-// id=EString
-protected class AdaptationPlan_IdAssignment_1 extends AssignmentToken  {
+// "StartAction"
+protected class StartAction_StartActionKeyword_1 extends KeywordToken  {
 	
-	public AdaptationPlan_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public StartAction_StartActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getIdAssignment_1();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getStartActionAccess().getStartActionKeyword_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_AdaptationPlanKeyword_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new StartAction_StartActionAction_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// "{"
-protected class AdaptationPlan_LeftCurlyBracketKeyword_2 extends KeywordToken  {
+
+/************ end Rule StartAction ****************/
+
+
+/************ begin Rule StopAction ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+ * 		('successor' successor=[AbstractControlFlowElement|EString])?
+ * 	'}'
+ * * / StopAction: //{StopAction}
+ * 	"StopAction";
+ *
+ **/
+
+// //{StopAction}
+// "StopAction"
+protected class StopAction_StopActionKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public StopAction_StopActionKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2();
+		return grammarAccess.getStopActionAccess().getStopActionKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// "name"
-protected class AdaptationPlan_NameKeyword_3 extends KeywordToken  {
+/************ end Rule StopAction ****************/
+
+
+/************ begin Rule LoopAction ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'counter' counter=EInt
+ * 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+ * 		('successor' successor=[AbstractControlFlowElement|EString])?
+ * 		'body' body=AdaptationPlan
+ * 	'}'
+ * * / LoopAction:
+ * 	"LoopAction";
+ *
+ **/
+
+// "LoopAction"
+protected class LoopAction_LoopActionKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public LoopAction_LoopActionKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getNameKeyword_3();
+		return grammarAccess.getLoopActionAccess().getLoopActionKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// name=EString
-protected class AdaptationPlan_NameAssignment_4 extends AssignmentToken  {
+/************ end Rule LoopAction ****************/
+
+
+/************ begin 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
+ * 	'}'
+ * * / BranchAction:
+ * 	"BranchAction";
+ *
+ **/
+
+// "BranchAction"
+protected class BranchAction_BranchActionKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public BranchAction_BranchActionKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getNameAssignment_4();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getBranchActionAccess().getBranchActionKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// ("steps" "{" steps+=AbstractControlFlowElement ("," steps+=AbstractControlFlowElement)* "}")?
-protected class AdaptationPlan_Group_5 extends GroupToken {
+/************ end Rule BranchAction ****************/
+
+
+/************ begin Rule ActionReference ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+ * 		('successor' successor=[AbstractControlFlowElement|EString])?
+ * 		'refersTo' refersTo=[Action|EString]
+ * 	'}'
+ * * / ActionReference:
+ * 	"ActionReference";
+ *
+ **/
+
+// "ActionReference"
+protected class ActionReference_ActionReferenceKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ActionReference_ActionReferenceKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getGroup_5();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getActionReferenceAccess().getActionReferenceKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// "steps"
-protected class AdaptationPlan_StepsKeyword_5_0 extends KeywordToken  {
+/************ end Rule ActionReference ****************/
+
+
+
+/************ begin Rule AdaptationActionOperation ****************
+ *
+ * //TODO Check With Nico
+ * / *
+ * 	'{'
+ * 		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
+ * 		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
+ * 	'}'
+ * * / AdaptationActionOperation:
+ * 	"AdaptionActionOperation";
+ *
+ **/
+
+// "AdaptionActionOperation"
+protected class AdaptationActionOperation_AdaptionActionOperationKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_StepsKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public AdaptationActionOperation_AdaptionActionOperationKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0();
+		return grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// "{"
-protected class AdaptationPlan_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
+/************ end Rule AdaptationActionOperation ****************/
+
+
+/************ begin Rule ModelVariableConfigurationRange ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'minValue' minValue=EDouble
+ * 		'maxValue' maxValue=EDouble
+ * 		'adaptableEntity' adaptableEntity=[core::AdaptableEntity|EString]
+ * 	'}'
+ * * / ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+ * 	"ModelVariableConfigurationRange";
+ *
+ **/
+
+// "ModelVariableConfigurationRange"
+protected class ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword extends KeywordToken  {
 	
-	public AdaptationPlan_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1();
+		return grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new AdaptationPlan_StepsKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// steps+=AbstractControlFlowElement
-protected class AdaptationPlan_StepsAssignment_5_2 extends AssignmentToken  {
-	
-	public AdaptationPlan_StepsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractControlFlowElement_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("steps",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("steps");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractControlFlowElementRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new AdaptationPlan_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," steps+=AbstractControlFlowElement)*
-protected class AdaptationPlan_Group_5_3 extends GroupToken {
-	
-	public AdaptationPlan_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getGroup_5_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_StepsAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class AdaptationPlan_CommaKeyword_5_3_0 extends KeywordToken  {
-	
-	public AdaptationPlan_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationPlan_StepsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// steps+=AbstractControlFlowElement
-protected class AdaptationPlan_StepsAssignment_5_3_1 extends AssignmentToken  {
-	
-	public AdaptationPlan_StepsAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getStepsAssignment_5_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AbstractControlFlowElement_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("steps",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("steps");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAbstractControlFlowElementRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new AdaptationPlan_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class AdaptationPlan_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
-	
-	public AdaptationPlan_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group_5_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationPlan_StepsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "}"
-protected class AdaptationPlan_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public AdaptationPlan_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new AdaptationPlan_NameAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AdaptationPlan ****************/
+/************ end Rule ModelVariableConfigurationRange ****************/
 
 
-/************ begin Rule StartAction ****************
+/************ begin Rule ModelEntityConfigurationRange ****************
  *
- * StartAction:
- * 	{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
- * 	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'adaptableEntity' adaptableEntity=[core::Entity|EString]
+ * 		'variationPossibility' variationPossibility=VariationType
+ * 	'}'
+ * * / ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+ * 	"ModelEntityConfigurationRange";
  *
  **/
 
-// {StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-// ("successor" successor=[AbstractControlFlowElement|EString])? "}"
-protected class StartAction_Group extends GroupToken {
-	
-	public StartAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {StartAction}
-protected class StartAction_StartActionAction_0 extends ActionToken  {
-
-	public StartAction_StartActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getStartActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "StartAction"
-protected class StartAction_StartActionKeyword_1 extends KeywordToken  {
+// "ModelEntityConfigurationRange"
+protected class ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword extends KeywordToken  {
 	
-	public StartAction_StartActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getStartActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_StartActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// id=EString
-protected class StartAction_IdAssignment_2 extends AssignmentToken  {
-	
-	public StartAction_IdAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getIdAssignment_2();
+		return grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new StartAction_StartActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// "{"
-protected class StartAction_LeftCurlyBracketKeyword_3 extends KeywordToken  {
-	
-	public StartAction_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_IdAssignment_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-protected class StartAction_Group_4 extends GroupToken {
-	
-	public StartAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_PredecessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class StartAction_PredecessorKeyword_4_0 extends KeywordToken  {
-	
-	public StartAction_PredecessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[AbstractControlFlowElement|EString]
-protected class StartAction_PredecessorAssignment_4_1 extends AssignmentToken  {
-	
-	public StartAction_PredecessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getPredecessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_PredecessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[AbstractControlFlowElement|EString])?
-protected class StartAction_Group_5 extends GroupToken {
-	
-	public StartAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_SuccessorAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class StartAction_SuccessorKeyword_5_0 extends KeywordToken  {
-	
-	public StartAction_SuccessorKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StartAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[AbstractControlFlowElement|EString]
-protected class StartAction_SuccessorAssignment_5_1 extends AssignmentToken  {
-	
-	public StartAction_SuccessorAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getSuccessorAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_SuccessorKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class StartAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public StartAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StartAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StartAction_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new StartAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule StartAction ****************/
-
-
-/************ begin Rule StopAction ****************
- *
- * StopAction:
- * 	{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
- * 	("successor" successor=[AbstractControlFlowElement|EString])? "}";
- *
- **/
-
-// {StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
-// successor=[AbstractControlFlowElement|EString])? "}"
-protected class StopAction_Group extends GroupToken {
-	
-	public StopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// {StopAction}
-protected class StopAction_StopActionAction_0 extends ActionToken  {
-
-	public StopAction_StopActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getStopActionAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
-// "StopAction"
-protected class StopAction_StopActionKeyword_1 extends KeywordToken  {
-	
-	public StopAction_StopActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getStopActionKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_StopActionAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// id=EString
-protected class StopAction_IdAssignment_2 extends AssignmentToken  {
-	
-	public StopAction_IdAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getIdAssignment_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_StopActionKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class StopAction_LeftCurlyBracketKeyword_3 extends KeywordToken  {
-	
-	public StopAction_LeftCurlyBracketKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_IdAssignment_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-protected class StopAction_Group_4 extends GroupToken {
-	
-	public StopAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_PredecessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class StopAction_PredecessorKeyword_4_0 extends KeywordToken  {
-	
-	public StopAction_PredecessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[AbstractControlFlowElement|EString]
-protected class StopAction_PredecessorAssignment_4_1 extends AssignmentToken  {
-	
-	public StopAction_PredecessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getPredecessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_PredecessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[AbstractControlFlowElement|EString])?
-protected class StopAction_Group_5 extends GroupToken {
-	
-	public StopAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_SuccessorAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class StopAction_SuccessorKeyword_5_0 extends KeywordToken  {
-	
-	public StopAction_SuccessorKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StopAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[AbstractControlFlowElement|EString]
-protected class StopAction_SuccessorAssignment_5_1 extends AssignmentToken  {
-	
-	public StopAction_SuccessorAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getSuccessorAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_SuccessorKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class StopAction_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public StopAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new StopAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new StopAction_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new StopAction_LeftCurlyBracketKeyword_3(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule StopAction ****************/
-
-
-/************ begin Rule LoopAction ****************
- *
- * LoopAction:
- * 	"LoopAction" id=EString "{" "counter" counter=EInt ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
- * 	("successor" successor=[AbstractControlFlowElement|EString])? "body" body=AdaptationPlan "}";
- *
- **/
-
-// "LoopAction" id=EString "{" "counter" counter=EInt ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-// ("successor" successor=[AbstractControlFlowElement|EString])? "body" body=AdaptationPlan "}"
-protected class LoopAction_Group extends GroupToken {
-	
-	public LoopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "LoopAction"
-protected class LoopAction_LoopActionKeyword_0 extends KeywordToken  {
-	
-	public LoopAction_LoopActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLoopActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class LoopAction_IdAssignment_1 extends AssignmentToken  {
-	
-	public LoopAction_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LoopActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class LoopAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public LoopAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "counter"
-protected class LoopAction_CounterKeyword_3 extends KeywordToken  {
-	
-	public LoopAction_CounterKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getCounterKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// counter=EInt
-protected class LoopAction_CounterAssignment_4 extends AssignmentToken  {
-	
-	public LoopAction_CounterAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getCounterAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_CounterKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("counter",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("counter");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-protected class LoopAction_Group_5 extends GroupToken {
-	
-	public LoopAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_PredecessorAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class LoopAction_PredecessorKeyword_5_0 extends KeywordToken  {
-	
-	public LoopAction_PredecessorKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_CounterAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[AbstractControlFlowElement|EString]
-protected class LoopAction_PredecessorAssignment_5_1 extends AssignmentToken  {
-	
-	public LoopAction_PredecessorAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getPredecessorAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_PredecessorKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[AbstractControlFlowElement|EString])?
-protected class LoopAction_Group_6 extends GroupToken {
-	
-	public LoopAction_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_SuccessorAssignment_6_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class LoopAction_SuccessorKeyword_6_0 extends KeywordToken  {
-	
-	public LoopAction_SuccessorKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new LoopAction_CounterAssignment_4(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[AbstractControlFlowElement|EString]
-protected class LoopAction_SuccessorAssignment_6_1 extends AssignmentToken  {
-	
-	public LoopAction_SuccessorAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getSuccessorAssignment_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_SuccessorKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "body"
-protected class LoopAction_BodyKeyword_7 extends KeywordToken  {
-	
-	public LoopAction_BodyKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getBodyKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new LoopAction_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new LoopAction_CounterAssignment_4(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// body=AdaptationPlan
-protected class LoopAction_BodyAssignment_8 extends AssignmentToken  {
-	
-	public LoopAction_BodyAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getBodyAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("body",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("body");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAdaptationPlanRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new LoopAction_BodyKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class LoopAction_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public LoopAction_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new LoopAction_BodyAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule LoopAction ****************/
-
-
-/************ begin Rule BranchAction ****************
- *
- * 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 "}";
- *
- **/
-
-// "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 "}"
-protected class BranchAction_Group extends GroupToken {
-	
-	public BranchAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "BranchAction"
-protected class BranchAction_BranchActionKeyword_0 extends KeywordToken  {
-	
-	public BranchAction_BranchActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getBranchActionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class BranchAction_IdAssignment_1 extends AssignmentToken  {
-	
-	public BranchAction_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_BranchActionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class BranchAction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public BranchAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("condition" condition=EString)?
-protected class BranchAction_Group_3 extends GroupToken {
-	
-	public BranchAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ConditionAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "condition"
-protected class BranchAction_ConditionKeyword_3_0 extends KeywordToken  {
-	
-	public BranchAction_ConditionKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// condition=EString
-protected class BranchAction_ConditionAssignment_3_1 extends AssignmentToken  {
-	
-	public BranchAction_ConditionAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ConditionKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("condition",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("condition");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-
-// ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-protected class BranchAction_Group_4 extends GroupToken {
-	
-	public BranchAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_PredecessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class BranchAction_PredecessorKeyword_4_0 extends KeywordToken  {
-	
-	public BranchAction_PredecessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[AbstractControlFlowElement|EString]
-protected class BranchAction_PredecessorAssignment_4_1 extends AssignmentToken  {
-	
-	public BranchAction_PredecessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getPredecessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_PredecessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[AbstractControlFlowElement|EString])?
-protected class BranchAction_Group_5 extends GroupToken {
-	
-	public BranchAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_SuccessorAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class BranchAction_SuccessorKeyword_5_0 extends KeywordToken  {
-	
-	public BranchAction_SuccessorKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BranchAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[AbstractControlFlowElement|EString]
-protected class BranchAction_SuccessorAssignment_5_1 extends AssignmentToken  {
-	
-	public BranchAction_SuccessorAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getSuccessorAssignment_5_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_SuccessorKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("context" context=[core::Entity|EString])?
-protected class BranchAction_Group_6 extends GroupToken {
-	
-	public BranchAction_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getGroup_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ContextAssignment_6_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "context"
-protected class BranchAction_ContextKeyword_6_0 extends KeywordToken  {
-	
-	public BranchAction_ContextKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getContextKeyword_6_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_5(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_Group_4(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BranchAction_Group_3(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BranchAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// context=[core::Entity|EString]
-protected class BranchAction_ContextAssignment_6_1 extends AssignmentToken  {
-	
-	public BranchAction_ContextAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getContextAssignment_6_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ContextKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("context",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("context");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "conditionTrueBranch"
-protected class BranchAction_ConditionTrueBranchKeyword_7 extends KeywordToken  {
-	
-	public BranchAction_ConditionTrueBranchKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_Group_6(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new BranchAction_Group_5(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new BranchAction_Group_4(lastRuleCallOrigin, this, 2, inst);
-			case 3: return new BranchAction_Group_3(lastRuleCallOrigin, this, 3, inst);
-			case 4: return new BranchAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 4, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// conditionTrueBranch=AdaptationPlan
-protected class BranchAction_ConditionTrueBranchAssignment_8 extends AssignmentToken  {
-	
-	public BranchAction_ConditionTrueBranchAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionTrueBranchAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("conditionTrueBranch",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conditionTrueBranch");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAdaptationPlanRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchAction_ConditionTrueBranchKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "conditionFalseBranch"
-protected class BranchAction_ConditionFalseBranchKeyword_9 extends KeywordToken  {
-	
-	public BranchAction_ConditionFalseBranchKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ConditionTrueBranchAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// conditionFalseBranch=AdaptationPlan
-protected class BranchAction_ConditionFalseBranchAssignment_10 extends AssignmentToken  {
-	
-	public BranchAction_ConditionFalseBranchAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getConditionFalseBranchAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationPlan_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("conditionFalseBranch",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("conditionFalseBranch");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getAdaptationPlanRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new BranchAction_ConditionFalseBranchKeyword_9(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class BranchAction_RightCurlyBracketKeyword_11 extends KeywordToken  {
-	
-	public BranchAction_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new BranchAction_ConditionFalseBranchAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule BranchAction ****************/
-
-
-/************ begin Rule ActionReference ****************
- *
- * ActionReference:
- * 	"ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
- * 	successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}";
- *
- **/
-
-// "ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
-// successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}"
-protected class ActionReference_Group extends GroupToken {
-	
-	public ActionReference_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getActionReferenceRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ActionReference"
-protected class ActionReference_ActionReferenceKeyword_0 extends KeywordToken  {
-	
-	public ActionReference_ActionReferenceKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ActionReference_IdAssignment_1 extends AssignmentToken  {
-	
-	public ActionReference_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_ActionReferenceKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ActionReference_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ActionReference_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-protected class ActionReference_Group_3 extends GroupToken {
-	
-	public ActionReference_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getGroup_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "predecessor"
-protected class ActionReference_PredecessorKeyword_3_0 extends KeywordToken  {
-	
-	public ActionReference_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// predecessor=[AbstractControlFlowElement|EString]
-protected class ActionReference_PredecessorAssignment_3_1 extends AssignmentToken  {
-	
-	public ActionReference_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getPredecessorAssignment_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ("successor" successor=[AbstractControlFlowElement|EString])?
-protected class ActionReference_Group_4 extends GroupToken {
-	
-	public ActionReference_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getGroup_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "successor"
-protected class ActionReference_SuccessorKeyword_4_0 extends KeywordToken  {
-	
-	public ActionReference_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ActionReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// successor=[AbstractControlFlowElement|EString]
-protected class ActionReference_SuccessorAssignment_4_1 extends AssignmentToken  {
-	
-	public ActionReference_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getSuccessorAssignment_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "refersTo"
-protected class ActionReference_RefersToKeyword_5 extends KeywordToken  {
-	
-	public ActionReference_RefersToKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getRefersToKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_Group_4(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ActionReference_Group_3(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new ActionReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// refersTo=[Action|EString]
-protected class ActionReference_RefersToAssignment_6 extends AssignmentToken  {
-	
-	public ActionReference_RefersToAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getRefersToAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_RefersToKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("refersTo",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("refersTo");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ActionReference_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public ActionReference_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ActionReference_RefersToAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ActionReference ****************/
-
-
-
-/************ begin Rule AdaptationActionOperation ****************
- *
- * AdaptationActionOperation:
- * 	"AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
- * 	"adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}";
- *
- **/
-
-// "AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
-// "adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}"
-protected class AdaptationActionOperation_Group extends GroupToken {
-	
-	public AdaptationActionOperation_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getAdaptationActionOperationRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "AdaptationActionOperation"
-protected class AdaptationActionOperation_AdaptationActionOperationKeyword_0 extends KeywordToken  {
-	
-	public AdaptationActionOperation_AdaptationActionOperationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class AdaptationActionOperation_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public AdaptationActionOperation_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_AdaptationActionOperationKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "adaptationOperationScope"
-protected class AdaptationActionOperation_AdaptationOperationScopeKeyword_2 extends KeywordToken  {
-	
-	public AdaptationActionOperation_AdaptationOperationScopeKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// adaptationOperationScope=AdaptationScope
-protected class AdaptationActionOperation_AdaptationOperationScopeAssignment_3 extends AssignmentToken  {
-	
-	public AdaptationActionOperation_AdaptationOperationScopeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_AdaptationOperationScopeKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("adaptationOperationScope",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("adaptationOperationScope");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "adaptationOperationDirection"
-protected class AdaptationActionOperation_AdaptationOperationDirectionKeyword_4 extends KeywordToken  {
-	
-	public AdaptationActionOperation_AdaptationOperationDirectionKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_AdaptationOperationScopeAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// adaptationOperationDirection=AdaptationDirection
-protected class AdaptationActionOperation_AdaptationOperationDirectionAssignment_5 extends AssignmentToken  {
-	
-	public AdaptationActionOperation_AdaptationOperationDirectionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_AdaptationOperationDirectionKeyword_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("adaptationOperationDirection",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("adaptationOperationDirection");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class AdaptationActionOperation_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public AdaptationActionOperation_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getAdaptationActionOperationAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new AdaptationActionOperation_AdaptationOperationDirectionAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule AdaptationActionOperation ****************/
-
-
-/************ begin Rule ModelVariableConfigurationRange ****************
- *
- * ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
- * 	"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
- * 	maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}";
- *
- **/
-
-// "ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
-// maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}"
-protected class ModelVariableConfigurationRange_Group extends GroupToken {
-	
-	public ModelVariableConfigurationRange_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getModelVariableConfigurationRangeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ModelVariableConfigurationRange"
-protected class ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword_0 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ModelVariableConfigurationRange_IdAssignment_1 extends AssignmentToken  {
-	
-	public ModelVariableConfigurationRange_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_ModelVariableConfigurationRangeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ModelVariableConfigurationRange_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class ModelVariableConfigurationRange_NameKeyword_3 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class ModelVariableConfigurationRange_NameAssignment_4 extends AssignmentToken  {
-	
-	public ModelVariableConfigurationRange_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "minValue"
-protected class ModelVariableConfigurationRange_MinValueKeyword_5 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_MinValueKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// minValue=EDouble
-protected class ModelVariableConfigurationRange_MinValueAssignment_6 extends AssignmentToken  {
-	
-	public ModelVariableConfigurationRange_MinValueAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_MinValueKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("minValue",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("minValue");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "maxValue"
-protected class ModelVariableConfigurationRange_MaxValueKeyword_7 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_MaxValueKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_MinValueAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// maxValue=EDouble
-protected class ModelVariableConfigurationRange_MaxValueAssignment_8 extends AssignmentToken  {
-	
-	public ModelVariableConfigurationRange_MaxValueAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_MaxValueKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("maxValue",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("maxValue");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "adaptableEntity"
-protected class ModelVariableConfigurationRange_AdaptableEntityKeyword_9 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_AdaptableEntityKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_MaxValueAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// adaptableEntity=[core::AdaptableEntity|EString]
-protected class ModelVariableConfigurationRange_AdaptableEntityAssignment_10 extends AssignmentToken  {
-	
-	public ModelVariableConfigurationRange_AdaptableEntityAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_AdaptableEntityKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("adaptableEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("adaptableEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class ModelVariableConfigurationRange_RightCurlyBracketKeyword_11 extends KeywordToken  {
-	
-	public ModelVariableConfigurationRange_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelVariableConfigurationRangeAccess().getRightCurlyBracketKeyword_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelVariableConfigurationRange_AdaptableEntityAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ModelVariableConfigurationRange ****************/
-
-
-/************ begin Rule ModelEntityConfigurationRange ****************
- *
- * ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
- * 	"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
- * 	adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}";
- *
- **/
-
-// "ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
-// adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}"
-protected class ModelEntityConfigurationRange_Group extends GroupToken {
-	
-	public ModelEntityConfigurationRange_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getModelEntityConfigurationRangeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "ModelEntityConfigurationRange"
-protected class ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword_0 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class ModelEntityConfigurationRange_IdAssignment_1 extends AssignmentToken  {
-	
-	public ModelEntityConfigurationRange_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_ModelEntityConfigurationRangeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class ModelEntityConfigurationRange_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class ModelEntityConfigurationRange_NameKeyword_3 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class ModelEntityConfigurationRange_NameAssignment_4 extends AssignmentToken  {
-	
-	public ModelEntityConfigurationRange_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "adaptableEntity"
-protected class ModelEntityConfigurationRange_AdaptableEntityKeyword_5 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_AdaptableEntityKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// adaptableEntity=[core::Entity|EString]
-protected class ModelEntityConfigurationRange_AdaptableEntityAssignment_6 extends AssignmentToken  {
-	
-	public ModelEntityConfigurationRange_AdaptableEntityAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_AdaptableEntityKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("adaptableEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("adaptableEntity");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "variationPossibility"
-protected class ModelEntityConfigurationRange_VariationPossibilityKeyword_7 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_VariationPossibilityKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_AdaptableEntityAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// variationPossibility=VariationType
-protected class ModelEntityConfigurationRange_VariationPossibilityAssignment_8 extends AssignmentToken  {
-	
-	public ModelEntityConfigurationRange_VariationPossibilityAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new VariationType_Alternatives(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("variationPossibility",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variationPossibility");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getVariationTypeRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_VariationPossibilityKeyword_7(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class ModelEntityConfigurationRange_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public ModelEntityConfigurationRange_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ModelEntityConfigurationRange_VariationPossibilityAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule ModelEntityConfigurationRange ****************/
-
-
-
-/************ begin Rule PropertyRange ****************
- *
- * PropertyRange returns adaptationpoints::PropertyRange:
- * 	"PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
- * 	maxValueConstraint=OclConstraint "}";
- *
- **/
-
-// "PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
-// maxValueConstraint=OclConstraint "}"
-protected class PropertyRange_Group extends GroupToken {
-	
-	public PropertyRange_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PropertyRange_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getPropertyRangeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "PropertyRange"
-protected class PropertyRange_PropertyRangeKeyword_0 extends KeywordToken  {
-	
-	public PropertyRange_PropertyRangeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class PropertyRange_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public PropertyRange_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PropertyRange_PropertyRangeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "minValueConstraint"
-protected class PropertyRange_MinValueConstraintKeyword_2 extends KeywordToken  {
-	
-	public PropertyRange_MinValueConstraintKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PropertyRange_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// minValueConstraint=OclConstraint
-protected class PropertyRange_MinValueConstraintAssignment_3 extends AssignmentToken  {
-	
-	public PropertyRange_MinValueConstraintAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getMinValueConstraintAssignment_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("minValueConstraint",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("minValueConstraint");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getOclConstraintRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new PropertyRange_MinValueConstraintKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "maxValueConstraint"
-protected class PropertyRange_MaxValueConstraintKeyword_4 extends KeywordToken  {
-	
-	public PropertyRange_MaxValueConstraintKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PropertyRange_MinValueConstraintAssignment_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// maxValueConstraint=OclConstraint
-protected class PropertyRange_MaxValueConstraintAssignment_5 extends AssignmentToken  {
-	
-	public PropertyRange_MaxValueConstraintAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getMaxValueConstraintAssignment_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("maxValueConstraint",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("maxValueConstraint");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getOclConstraintRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new PropertyRange_MaxValueConstraintKeyword_4(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class PropertyRange_RightCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public PropertyRange_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getPropertyRangeAccess().getRightCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new PropertyRange_MaxValueConstraintAssignment_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule PropertyRange ****************/
-
-
-/************ begin Rule SetOfConfigurations ****************
- *
- * SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
- * 	"SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])*
- * 	")")? "valueConstraint" valueConstraint=OclConstraint "}";
- *
- **/
-
-// "SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])* ")")?
-// "valueConstraint" valueConstraint=OclConstraint "}"
-protected class SetOfConfigurations_Group extends GroupToken {
-	
-	public SetOfConfigurations_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getSetOfConfigurationsRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "SetOfConfigurations"
-protected class SetOfConfigurations_SetOfConfigurationsKeyword_0 extends KeywordToken  {
-	
-	public SetOfConfigurations_SetOfConfigurationsKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// "{"
-protected class SetOfConfigurations_LeftCurlyBracketKeyword_1 extends KeywordToken  {
-	
-	public SetOfConfigurations_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_SetOfConfigurationsKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])* ")")?
-protected class SetOfConfigurations_Group_2 extends GroupToken {
-	
-	public SetOfConfigurations_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getGroup_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_RightParenthesisKeyword_2_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "variants"
-protected class SetOfConfigurations_VariantsKeyword_2_0 extends KeywordToken  {
-	
-	public SetOfConfigurations_VariantsKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "("
-protected class SetOfConfigurations_LeftParenthesisKeyword_2_1 extends KeywordToken  {
-	
-	public SetOfConfigurations_LeftParenthesisKeyword_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_VariantsKeyword_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// variants+=[core::Entity|EString]
-protected class SetOfConfigurations_VariantsAssignment_2_2 extends AssignmentToken  {
-	
-	public SetOfConfigurations_VariantsAssignment_2_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_LeftParenthesisKeyword_2_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("variants",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variants");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("," variants+=[core::Entity|EString])*
-protected class SetOfConfigurations_Group_2_3 extends GroupToken {
-	
-	public SetOfConfigurations_Group_2_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getGroup_2_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_VariantsAssignment_2_3_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class SetOfConfigurations_CommaKeyword_2_3_0 extends KeywordToken  {
-	
-	public SetOfConfigurations_CommaKeyword_2_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_Group_2_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SetOfConfigurations_VariantsAssignment_2_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// variants+=[core::Entity|EString]
-protected class SetOfConfigurations_VariantsAssignment_2_3_1 extends AssignmentToken  {
-	
-	public SetOfConfigurations_VariantsAssignment_2_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getVariantsAssignment_2_3_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_CommaKeyword_2_3_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("variants",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("variants");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// ")"
-protected class SetOfConfigurations_RightParenthesisKeyword_2_4 extends KeywordToken  {
-	
-	public SetOfConfigurations_RightParenthesisKeyword_2_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_Group_2_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SetOfConfigurations_VariantsAssignment_2_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-// "valueConstraint"
-protected class SetOfConfigurations_ValueConstraintKeyword_3 extends KeywordToken  {
-	
-	public SetOfConfigurations_ValueConstraintKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new SetOfConfigurations_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// valueConstraint=OclConstraint
-protected class SetOfConfigurations_ValueConstraintAssignment_4 extends AssignmentToken  {
-	
-	public SetOfConfigurations_ValueConstraintAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getValueConstraintAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("valueConstraint",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("valueConstraint");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getOclConstraintRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new SetOfConfigurations_ValueConstraintKeyword_3(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// "}"
-protected class SetOfConfigurations_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public SetOfConfigurations_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new SetOfConfigurations_ValueConstraintAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule SetOfConfigurations ****************/
-
-
-/************ begin Rule OclConstraint ****************
- *
- * OclConstraint returns adaptationpoints::OclConstraint:
- * 	"OclConstraint" name=EString "{" "oclString" oclString=EString "}";
- *
- **/
-
-// "OclConstraint" name=EString "{" "oclString" oclString=EString "}"
-protected class OclConstraint_Group extends GroupToken {
-	
-	public OclConstraint_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getOclConstraintRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "OclConstraint"
-protected class OclConstraint_OclConstraintKeyword_0 extends KeywordToken  {
-	
-	public OclConstraint_OclConstraintKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// name=EString
-protected class OclConstraint_NameAssignment_1 extends AssignmentToken  {
-	
-	public OclConstraint_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getNameAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_OclConstraintKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class OclConstraint_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public OclConstraint_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "oclString"
-protected class OclConstraint_OclStringKeyword_3 extends KeywordToken  {
-	
-	public OclConstraint_OclStringKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getOclStringKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// oclString=EString
-protected class OclConstraint_OclStringAssignment_4 extends AssignmentToken  {
-	
-	public OclConstraint_OclStringAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getOclStringAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_OclStringKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("oclString",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("oclString");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class OclConstraint_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public OclConstraint_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new OclConstraint_OclStringAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule OclConstraint ****************/
-
-
-
-
-/************ begin Rule Objective ****************
- *
- * Objective:
- * 	"Objective" id=EString "{" "name" name=EString "specification" specification=EString "}";
- *
- **/
-
-// "Objective" id=EString "{" "name" name=EString "specification" specification=EString "}"
-protected class Objective_Group extends GroupToken {
-	
-	public Objective_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getObjectiveRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Objective"
-protected class Objective_ObjectiveKeyword_0 extends KeywordToken  {
-	
-	public Objective_ObjectiveKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getObjectiveKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Objective_IdAssignment_1 extends AssignmentToken  {
-	
-	public Objective_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_ObjectiveKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Objective_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Objective_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Objective_NameKeyword_3 extends KeywordToken  {
-	
-	public Objective_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Objective_NameAssignment_4 extends AssignmentToken  {
-	
-	public Objective_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "specification"
-protected class Objective_SpecificationKeyword_5 extends KeywordToken  {
-	
-	public Objective_SpecificationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getSpecificationKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// specification=EString
-protected class Objective_SpecificationAssignment_6 extends AssignmentToken  {
-	
-	public Objective_SpecificationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getSpecificationAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_SpecificationKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("specification",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("specification");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Objective_RightCurlyBracketKeyword_7 extends KeywordToken  {
-	
-	public Objective_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Objective_SpecificationAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Objective ****************/
-
-
-/************ begin Rule Event ****************
- *
- * Event:
- * 	"Event" id=EString "{" "name" name=EString "}";
- *
- **/
-
-// "Event" id=EString "{" "name" name=EString "}"
-protected class Event_Group extends GroupToken {
-	
-	public Event_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getEventAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getEventRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Event"
-protected class Event_EventKeyword_0 extends KeywordToken  {
-	
-	public Event_EventKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEventAccess().getEventKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Event_IdAssignment_1 extends AssignmentToken  {
-	
-	public Event_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getEventAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_EventKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Event_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Event_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Event_NameKeyword_3 extends KeywordToken  {
-	
-	public Event_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEventAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Event_NameAssignment_4 extends AssignmentToken  {
-	
-	public Event_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getEventAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Event_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public Event_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Event_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Event ****************/
-
-
-/************ begin Rule WeightedTactic ****************
- *
- * WeightedTactic:
- * 	"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
- * 	defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
- * 	lastImpact=[perfdatarepo::Impact|EString])? "}";
- *
- **/
-
-// "WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
-// defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
-// lastImpact=[perfdatarepo::Impact|EString])? "}"
-protected class WeightedTactic_Group extends GroupToken {
-	
-	public WeightedTactic_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getWeightedTacticRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "WeightedTactic"
-protected class WeightedTactic_WeightedTacticKeyword_0 extends KeywordToken  {
-	
-	public WeightedTactic_WeightedTacticKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class WeightedTactic_IdAssignment_1 extends AssignmentToken  {
-	
-	public WeightedTactic_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_WeightedTacticKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class WeightedTactic_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public WeightedTactic_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class WeightedTactic_NameKeyword_3 extends KeywordToken  {
-	
-	public WeightedTactic_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class WeightedTactic_NameAssignment_4 extends AssignmentToken  {
-	
-	public WeightedTactic_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "currentWeight"
-protected class WeightedTactic_CurrentWeightKeyword_5 extends KeywordToken  {
-	
-	public WeightedTactic_CurrentWeightKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// currentWeight=EDouble
-protected class WeightedTactic_CurrentWeightAssignment_6 extends AssignmentToken  {
-	
-	public WeightedTactic_CurrentWeightAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_CurrentWeightKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("currentWeight",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("currentWeight");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "defaultWeight"
-protected class WeightedTactic_DefaultWeightKeyword_7 extends KeywordToken  {
-	
-	public WeightedTactic_DefaultWeightKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_CurrentWeightAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// defaultWeight=EDouble
-protected class WeightedTactic_DefaultWeightAssignment_8 extends AssignmentToken  {
-	
-	public WeightedTactic_DefaultWeightAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_DefaultWeightKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("defaultWeight",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("defaultWeight");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "usedTactic"
-protected class WeightedTactic_UsedTacticKeyword_9 extends KeywordToken  {
-	
-	public WeightedTactic_UsedTacticKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_DefaultWeightAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// usedTactic=[Tactic|EString]
-protected class WeightedTactic_UsedTacticAssignment_10 extends AssignmentToken  {
-	
-	public WeightedTactic_UsedTacticAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_UsedTacticKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("usedTactic",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("usedTactic");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// ("lastImpact" lastImpact=[perfdatarepo::Impact|EString])?
-protected class WeightedTactic_Group_11 extends GroupToken {
-	
-	public WeightedTactic_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getGroup_11();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_LastImpactAssignment_11_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "lastImpact"
-protected class WeightedTactic_LastImpactKeyword_11_0 extends KeywordToken  {
-	
-	public WeightedTactic_LastImpactKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_UsedTacticAssignment_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// lastImpact=[perfdatarepo::Impact|EString]
-protected class WeightedTactic_LastImpactAssignment_11_1 extends AssignmentToken  {
-	
-	public WeightedTactic_LastImpactAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_11_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_LastImpactKeyword_11_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("lastImpact",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lastImpact");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-
-// "}"
-protected class WeightedTactic_RightCurlyBracketKeyword_12 extends KeywordToken  {
-	
-	public WeightedTactic_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedTactic_Group_11(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new WeightedTactic_UsedTacticAssignment_10(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule WeightedTactic ****************/
-
-
-/************ begin Rule WeightingFunction ****************
- *
- * WeightingFunction:
- * 	"WeightingFunction" id=EString "{" "name" name=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
- * 	weightedMetrics+=WeightedMetric)* "}" "}";
- *
- **/
-
-// "WeightingFunction" id=EString "{" "name" name=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
-// weightedMetrics+=WeightedMetric)* "}" "}"
-protected class WeightingFunction_Group extends GroupToken {
-	
-	public WeightingFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getWeightingFunctionRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "WeightingFunction"
-protected class WeightingFunction_WeightingFunctionKeyword_0 extends KeywordToken  {
-	
-	public WeightingFunction_WeightingFunctionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class WeightingFunction_IdAssignment_1 extends AssignmentToken  {
-	
-	public WeightingFunction_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_WeightingFunctionKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class WeightingFunction_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public WeightingFunction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class WeightingFunction_NameKeyword_3 extends KeywordToken  {
-	
-	public WeightingFunction_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class WeightingFunction_NameAssignment_4 extends AssignmentToken  {
-	
-	public WeightingFunction_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "weightedMetrics"
-protected class WeightingFunction_WeightedMetricsKeyword_5 extends KeywordToken  {
-	
-	public WeightingFunction_WeightedMetricsKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class WeightingFunction_LeftCurlyBracketKeyword_6 extends KeywordToken  {
-	
-	public WeightingFunction_LeftCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_WeightedMetricsKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// weightedMetrics+=WeightedMetric
-protected class WeightingFunction_WeightedMetricsAssignment_7 extends AssignmentToken  {
-	
-	public WeightingFunction_WeightedMetricsAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedMetric_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("weightedMetrics",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weightedMetrics");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getWeightedMetricRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new WeightingFunction_LeftCurlyBracketKeyword_6(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," weightedMetrics+=WeightedMetric)*
-protected class WeightingFunction_Group_8 extends GroupToken {
-	
-	public WeightingFunction_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getGroup_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_WeightedMetricsAssignment_8_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class WeightingFunction_CommaKeyword_8_0 extends KeywordToken  {
-	
-	public WeightingFunction_CommaKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new WeightingFunction_WeightedMetricsAssignment_7(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// weightedMetrics+=WeightedMetric
-protected class WeightingFunction_WeightedMetricsAssignment_8_1 extends AssignmentToken  {
-	
-	public WeightingFunction_WeightedMetricsAssignment_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_8_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedMetric_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("weightedMetrics",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weightedMetrics");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getWeightedMetricRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new WeightingFunction_CommaKeyword_8_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-
-// "}"
-protected class WeightingFunction_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public WeightingFunction_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new WeightingFunction_WeightedMetricsAssignment_7(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "}"
-protected class WeightingFunction_RightCurlyBracketKeyword_10 extends KeywordToken  {
-	
-	public WeightingFunction_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightingFunction_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule WeightingFunction ****************/
-
-
-/************ begin Rule Impact ****************
- *
- * Impact returns perfdatarepo::Impact:
- * 	"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
- * 	after=[perfdatarepo::Result|EString] "}";
- *
- **/
-
-// "Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
-// after=[perfdatarepo::Result|EString] "}"
-protected class Impact_Group extends GroupToken {
-	
-	public Impact_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getImpactAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getImpactRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Impact"
-protected class Impact_ImpactKeyword_0 extends KeywordToken  {
-	
-	public Impact_ImpactKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getImpactKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Impact_IdAssignment_1 extends AssignmentToken  {
-	
-	public Impact_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getImpactAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_ImpactKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getImpactAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getImpactAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Impact_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Impact_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Impact_NameKeyword_3 extends KeywordToken  {
-	
-	public Impact_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Impact_NameAssignment_4 extends AssignmentToken  {
-	
-	public Impact_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getImpactAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getImpactAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getImpactAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "before"
-protected class Impact_BeforeKeyword_5 extends KeywordToken  {
-	
-	public Impact_BeforeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getBeforeKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// before=[perfdatarepo::Result|EString]
-protected class Impact_BeforeAssignment_6 extends AssignmentToken  {
-	
-	public Impact_BeforeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getImpactAccess().getBeforeAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_BeforeKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("before",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("before");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getImpactAccess().getBeforeResultCrossReference_6_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getImpactAccess().getBeforeResultCrossReference_6_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "after"
-protected class Impact_AfterKeyword_7 extends KeywordToken  {
-	
-	public Impact_AfterKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getAfterKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_BeforeAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// after=[perfdatarepo::Result|EString]
-protected class Impact_AfterAssignment_8 extends AssignmentToken  {
-	
-	public Impact_AfterAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getImpactAccess().getAfterAssignment_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_AfterKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("after",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("after");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getImpactAccess().getAfterResultCrossReference_8_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getImpactAccess().getAfterResultCrossReference_8_0(); 
-				return obj;
-			}
-		}
-		return null;
-	}
-
-}
-
-// "}"
-protected class Impact_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public Impact_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getImpactAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Impact_AfterAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-
-/************ end Rule Impact ****************/
-
-
-/************ begin Rule Result ****************
- *
- * Result returns perfdatarepo::Result:
- * 	"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
- * 	("," metricValues+=MetricValue)* "}" "}";
- *
- **/
-
-// "Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
-// ("," metricValues+=MetricValue)* "}" "}"
-protected class Result_Group extends GroupToken {
-	
-	public Result_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getResultAccess().getGroup();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getResultRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
-}
-
-// "Result"
-protected class Result_ResultKeyword_0 extends KeywordToken  {
-	
-	public Result_ResultKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getResultKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class Result_IdAssignment_1 extends AssignmentToken  {
-	
-	public Result_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResultAccess().getIdAssignment_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_ResultKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getResultAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getResultAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "{"
-protected class Result_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public Result_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class Result_NameKeyword_3 extends KeywordToken  {
-	
-	public Result_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getNameKeyword_3();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// name=EString
-protected class Result_NameAssignment_4 extends AssignmentToken  {
-	
-	public Result_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResultAccess().getNameAssignment_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getResultAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getResultAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "timestamp"
-protected class Result_TimestampKeyword_5 extends KeywordToken  {
-	
-	public Result_TimestampKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getTimestampKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// timestamp=EDate
-protected class Result_TimestampAssignment_6 extends AssignmentToken  {
-	
-	public Result_TimestampAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResultAccess().getTimestampAssignment_6();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_TimestampKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("timestamp",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("timestamp");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getResultAccess().getTimestampEDateParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getResultAccess().getTimestampEDateParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
-}
-
-// "metricValues"
-protected class Result_MetricValuesKeyword_7 extends KeywordToken  {
-	
-	public Result_MetricValuesKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getMetricValuesKeyword_7();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_TimestampAssignment_6(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Result_LeftCurlyBracketKeyword_8 extends KeywordToken  {
-	
-	public Result_LeftCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getLeftCurlyBracketKeyword_8();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_MetricValuesKeyword_7(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// metricValues+=MetricValue
-protected class Result_MetricValuesAssignment_9 extends AssignmentToken  {
-	
-	public Result_MetricValuesAssignment_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResultAccess().getMetricValuesAssignment_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new MetricValue_Group(this, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("metricValues",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricValues");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMetricValueRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getResultAccess().getMetricValuesMetricValueParserRuleCall_9_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Result_LeftCurlyBracketKeyword_8(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
-}
-
-// ("," metricValues+=MetricValue)*
-protected class Result_Group_10 extends GroupToken {
-	
-	public Result_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getResultAccess().getGroup_10();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_MetricValuesAssignment_10_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// ","
-protected class Result_CommaKeyword_10_0 extends KeywordToken  {
-	
-	public Result_CommaKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getCommaKeyword_10_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Result_Group_10(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Result_MetricValuesAssignment_9(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
+/************ end Rule ModelEntityConfigurationRange ****************/
 
-}
 
-// metricValues+=MetricValue
-protected class Result_MetricValuesAssignment_10_1 extends AssignmentToken  {
+
+/************ begin Rule PropertyRange ****************
+ *
+ * / *
+ * 	'{'
+ * 		'minValueConstraint' minValueConstraint=OclConstraint
+ * 		'maxValueConstraint' maxValueConstraint=OclConstraint
+ * 	'}'
+ * * / PropertyRange returns adaptationpoints::PropertyRange:
+ * 	"PropertyRange";
+ *
+ **/
+
+// "PropertyRange"
+protected class PropertyRange_PropertyRangeKeyword extends KeywordToken  {
 	
-	public Result_MetricValuesAssignment_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public PropertyRange_PropertyRangeKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getResultAccess().getMetricValuesAssignment_10_1();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_Group(this, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("metricValues",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricValues");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMetricValueRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getResultAccess().getMetricValuesMetricValueParserRuleCall_10_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
-	}
-
-    @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
-		switch(index) {
-			case 0: return new Result_CommaKeyword_10_0(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
-		}	
-	}	
 }
 
+/************ end Rule PropertyRange ****************/
 
-// "}"
-protected class Result_RightCurlyBracketKeyword_11 extends KeywordToken  {
+
+/************ begin Rule SetOfConfigurations ****************
+ *
+ * / *
+ * 	'{'
+ * 		('variants' '(' variants+=[core::Entity|EString] ( "," variants+=[core::Entity|EString])* ')' )?
+ * 		'valueConstraint' valueConstraint=OclConstraint
+ * 	'}'
+ * * / SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+ * 	"SetOfConfigurations";
+ *
+ **/
+
+// "SetOfConfigurations"
+protected class SetOfConfigurations_SetOfConfigurationsKeyword extends KeywordToken  {
 	
-	public Result_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public SetOfConfigurations_SetOfConfigurationsKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getRightCurlyBracketKeyword_11();
+		return grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Result_Group_10(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Result_MetricValuesAssignment_9(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-// "}"
-protected class Result_RightCurlyBracketKeyword_12 extends KeywordToken  {
+/************ end Rule SetOfConfigurations ****************/
+
+
+/************ begin Rule OclConstraint ****************
+ *
+ * / *
+ * 	name=EString
+ * 	'{'
+ * 		'oclString' oclString=EString
+ * 	'}'
+ * * / OclConstraint returns adaptationpoints::OclConstraint:
+ * 	"OclConstraint";
+ *
+ **/
+
+// "OclConstraint"
+protected class OclConstraint_OclConstraintKeyword extends KeywordToken  {
 	
-	public Result_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public OclConstraint_OclConstraintKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getResultAccess().getRightCurlyBracketKeyword_12();
+		return grammarAccess.getOclConstraintAccess().getOclConstraintKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Result_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
+/************ end Rule OclConstraint ****************/
 
-/************ end Rule Result ****************/
 
 
 
-/************ begin Rule MetricValue ****************
+/************ begin Rule Objective ****************
  *
- * MetricValue returns perfdatarepo::MetricValue:
- * 	"MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
- * 	measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}";
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'specification' specification=EString
+ * 	'}'
+ * * / Objective:
+ * 	"Objective" name=EString "=" specification=EString;
  *
  **/
 
-// "MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
-// measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}"
-protected class MetricValue_Group extends GroupToken {
+// "Objective" name=EString "=" specification=EString
+protected class Objective_Group extends GroupToken {
 	
-	public MetricValue_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Objective_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getGroup();
+		return grammarAccess.getObjectiveAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Objective_SpecificationAssignment_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getMetricValueRule().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getObjectiveRule().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// "MetricValue"
-protected class MetricValue_MetricValueKeyword_0 extends KeywordToken  {
+// "Objective"
+protected class Objective_ObjectiveKeyword_0 extends KeywordToken  {
 	
-	public MetricValue_MetricValueKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Objective_ObjectiveKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getMetricValueKeyword_0();
+		return grammarAccess.getObjectiveAccess().getObjectiveKeyword_0();
 	}
 
     @Override
@@ -10369,33 +4334,33 @@ protected class MetricValue_MetricValueKeyword_0 extends KeywordToken  {
 
 }
 
-// id=EString
-protected class MetricValue_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class Objective_NameAssignment_1 extends AssignmentToken  {
 	
-	public MetricValue_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Objective_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getIdAssignment_1();
+		return grammarAccess.getObjectiveAccess().getNameAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_MetricValueKeyword_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Objective_ObjectiveKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -10403,77 +4368,103 @@ protected class MetricValue_IdAssignment_1 extends AssignmentToken  {
 
 }
 
-// "{"
-protected class MetricValue_LeftCurlyBracketKeyword_2 extends KeywordToken  {
+// "="
+protected class Objective_EqualsSignKeyword_2 extends KeywordToken  {
 	
-	public MetricValue_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Objective_EqualsSignKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2();
+		return grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Objective_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "name"
-protected class MetricValue_NameKeyword_3 extends KeywordToken  {
+// specification=EString
+protected class Objective_SpecificationAssignment_3 extends AssignmentToken  {
 	
-	public MetricValue_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Objective_SpecificationAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getNameKeyword_3();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getObjectiveAccess().getSpecificationAssignment_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Objective_EqualsSignKeyword_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("specification",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("specification");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0();
+			return obj;
+		}
+		return null;
+	}
+
 }
 
-// name=EString
-protected class MetricValue_NameAssignment_4 extends AssignmentToken  {
+
+/************ end Rule Objective ****************/
+
+
+/************ begin Rule Event ****************
+ *
+ * Event:
+ * 	name= //id=EString
+ * 	EString;
+ *
+ **/
+
+// name= //id=EString
+// EString
+protected class Event_NameAssignment extends AssignmentToken  {
 	
-	public MetricValue_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Event_NameAssignment(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getNameAssignment_4();
+		return grammarAccess.getEventAccess().getNameAssignment();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
+		if(getEObject().eClass() != grammarAccess.getEventRule().getType().getClassifier())
+			return null;
 		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getEventAccess().getNameEStringParserRuleCall_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0();
+			element = grammarAccess.getEventAccess().getNameEStringParserRuleCall_0();
 			return obj;
 		}
 		return null;
@@ -10481,55 +4472,74 @@ protected class MetricValue_NameAssignment_4 extends AssignmentToken  {
 
 }
 
-// "value"
-protected class MetricValue_ValueKeyword_5 extends KeywordToken  {
+/************ end Rule Event ****************/
+
+
+/************ begin Rule WeightedTactic ****************
+ *
+ * WeightedTactic:
+ * 	name=EString "=" usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ("lastImpact"
+ * 	lastImpact=[perfdatarepo::Impact|EString])?;
+ *
+ **/
+
+// name=EString "=" usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ("lastImpact"
+// lastImpact=[perfdatarepo::Impact|EString])?
+protected class WeightedTactic_Group extends GroupToken {
 	
-	public MetricValue_ValueKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getValueKeyword_5();
+	public Group getGrammarElement() {
+		return grammarAccess.getWeightedTacticAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_Group_5(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new WeightedTactic_DefaultWeightAssignment_4(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(getEObject().eClass() != grammarAccess.getWeightedTacticRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
+	}
+
 }
 
-// value=EDouble
-protected class MetricValue_ValueAssignment_6 extends AssignmentToken  {
+// name=EString
+protected class WeightedTactic_NameAssignment_0 extends AssignmentToken  {
 	
-	public MetricValue_ValueAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getValueAssignment_6();
+		return grammarAccess.getWeightedTacticAccess().getNameAssignment_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_ValueKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("value",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0();
+			element = grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0();
 			return obj;
 		}
 		return null;
@@ -10537,57 +4547,57 @@ protected class MetricValue_ValueAssignment_6 extends AssignmentToken  {
 
 }
 
-// "measuredEntity"
-protected class MetricValue_MeasuredEntityKeyword_7 extends KeywordToken  {
+// "="
+protected class WeightedTactic_EqualsSignKeyword_1 extends KeywordToken  {
 	
-	public MetricValue_MeasuredEntityKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7();
+		return grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_ValueAssignment_6(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// measuredEntity=[perfdatarepo::MeasuredEntity|EString]
-protected class MetricValue_MeasuredEntityAssignment_8 extends AssignmentToken  {
+// usedTactic=[Tactic|EString]
+protected class WeightedTactic_UsedTacticAssignment_2 extends AssignmentToken  {
 	
-	public MetricValue_MeasuredEntityAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_UsedTacticAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getMeasuredEntityAssignment_8();
+		return grammarAccess.getWeightedTacticAccess().getUsedTacticAssignment_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_MeasuredEntityKeyword_7(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_EqualsSignKeyword_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("measuredEntity",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("measuredEntity");
+		if((value = eObjectConsumer.getConsumable("usedTactic",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("usedTactic");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0(); 
+				element = grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0(); 
 				return obj;
 			}
 		}
@@ -10596,359 +4606,319 @@ protected class MetricValue_MeasuredEntityAssignment_8 extends AssignmentToken
 
 }
 
-// "metricType"
-protected class MetricValue_MetricTypeKeyword_9 extends KeywordToken  {
-	
-	public MetricValue_MetricTypeKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new MetricValue_MeasuredEntityAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// metricType=[perfdatarepo::MetricType|EString]
-protected class MetricValue_MetricTypeAssignment_10 extends AssignmentToken  {
+// currentWeight=EDouble
+protected class WeightedTactic_CurrentWeightAssignment_3 extends AssignmentToken  {
 	
-	public MetricValue_MetricTypeAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_CurrentWeightAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getMetricTypeAssignment_10();
+		return grammarAccess.getWeightedTacticAccess().getCurrentWeightAssignment_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_MetricTypeKeyword_9(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_UsedTacticAssignment_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("metricType",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricType");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0(); 
-				return obj;
-			}
+		if((value = eObjectConsumer.getConsumable("currentWeight",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("currentWeight");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0();
+			return obj;
 		}
 		return null;
 	}
 
 }
 
-// "}"
-protected class MetricValue_RightCurlyBracketKeyword_11 extends KeywordToken  {
+// defaultWeight=EDouble
+protected class WeightedTactic_DefaultWeightAssignment_4 extends AssignmentToken  {
 	
-	public MetricValue_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_DefaultWeightAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getWeightedTacticAccess().getDefaultWeightAssignment_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricValue_MetricTypeAssignment_10(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_CurrentWeightAssignment_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-}
-
-
-/************ end Rule MetricValue ****************/
-
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("defaultWeight",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("defaultWeight");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0();
+			return obj;
+		}
+		return null;
+	}
 
-/************ begin Rule MeasuredEntity ****************
- *
- * MeasuredEntity returns perfdatarepo::MeasuredEntity:
- * 	"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
- * 	("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}";
- *
- **/
+}
 
-// "MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
-// ("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}"
-protected class MeasuredEntity_Group extends GroupToken {
+// ("lastImpact" lastImpact=[perfdatarepo::Impact|EString])?
+protected class WeightedTactic_Group_5 extends GroupToken {
 	
-	public MeasuredEntity_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getGroup();
+		return grammarAccess.getWeightedTacticAccess().getGroup_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_LastImpactAssignment_5_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getMeasuredEntityRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
 }
 
-// "MeasuredEntity"
-protected class MeasuredEntity_MeasuredEntityKeyword_0 extends KeywordToken  {
+// "lastImpact"
+protected class WeightedTactic_LastImpactKeyword_5_0 extends KeywordToken  {
 	
-	public MeasuredEntity_MeasuredEntityKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_LastImpactKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getMeasuredEntityKeyword_0();
+		return grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+			case 0: return new WeightedTactic_DefaultWeightAssignment_4(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
 		}	
 	}
 
 }
 
-// id=EString
-protected class MeasuredEntity_IdAssignment_1 extends AssignmentToken  {
+// lastImpact=[perfdatarepo::Impact|EString]
+protected class WeightedTactic_LastImpactAssignment_5_1 extends AssignmentToken  {
 	
-	public MeasuredEntity_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedTactic_LastImpactAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getIdAssignment_1();
+		return grammarAccess.getWeightedTacticAccess().getLastImpactAssignment_5_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_MeasuredEntityKeyword_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedTactic_LastImpactKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMeasuredEntityAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMeasuredEntityAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
+		if((value = eObjectConsumer.getConsumable("lastImpact",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("lastImpact");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0().getType().getClassifier())) {
+				type = AssignmentType.CROSS_REFERENCE;
+				element = grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0(); 
+				return obj;
+			}
 		}
 		return null;
 	}
 
 }
 
-// "{"
-protected class MeasuredEntity_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public MeasuredEntity_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new MeasuredEntity_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
 
-}
 
-// "name"
-protected class MeasuredEntity_NameKeyword_3 extends KeywordToken  {
-	
-	public MeasuredEntity_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getNameKeyword_3();
-	}
+/************ end Rule WeightedTactic ****************/
 
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new MeasuredEntity_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
 
-}
+/************ begin Rule WeightingFunction ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'weightedMetrics' '{' weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)* '}' 
+ * 	'}'
+ * * / WeightingFunction:
+ * 	name=EString "{" weightedMetrics+=WeightedMetric ("," weightedMetrics+=WeightedMetric)* "}";
+ *
+ **/
 
-// name=EString
-protected class MeasuredEntity_NameAssignment_4 extends AssignmentToken  {
+// name=EString "{" weightedMetrics+=WeightedMetric ("," weightedMetrics+=WeightedMetric)* "}"
+protected class WeightingFunction_Group extends GroupToken {
 	
-	public MeasuredEntity_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getNameAssignment_4();
+	public Group getGrammarElement() {
+		return grammarAccess.getWeightingFunctionAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightingFunction_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
+    @Override
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMeasuredEntityAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMeasuredEntityAccess().getNameEStringParserRuleCall_4_0();
-			return obj;
-		}
-		return null;
+		if(getEObject().eClass() != grammarAccess.getWeightingFunctionRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
 	}
 
 }
 
-// "metricTypes"
-protected class MeasuredEntity_MetricTypesKeyword_5 extends KeywordToken  {
+// name=EString
+protected class WeightingFunction_NameAssignment_0 extends AssignmentToken  {
 	
-	public MeasuredEntity_MetricTypesKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getMetricTypesKeyword_5();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getWeightingFunctionAccess().getNameAssignment_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0();
+			return obj;
+		}
+		return null;
+	}
+
 }
 
-// "("
-protected class MeasuredEntity_LeftParenthesisKeyword_6 extends KeywordToken  {
+// "{"
+protected class WeightingFunction_LeftCurlyBracketKeyword_1 extends KeywordToken  {
 	
-	public MeasuredEntity_LeftParenthesisKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getLeftParenthesisKeyword_6();
+		return grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_MetricTypesKeyword_5(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightingFunction_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// metricTypes+=[perfdatarepo::MetricType|EString]
-protected class MeasuredEntity_MetricTypesAssignment_7 extends AssignmentToken  {
+// weightedMetrics+=WeightedMetric
+protected class WeightingFunction_WeightedMetricsAssignment_2 extends AssignmentToken  {
 	
-	public MeasuredEntity_MetricTypesAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_WeightedMetricsAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getMetricTypesAssignment_7();
+		return grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_LeftParenthesisKeyword_6(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("metricTypes",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricTypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+		if((value = eObjectConsumer.getConsumable("weightedMetrics",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weightedMetrics");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMeasuredEntityAccess().getMetricTypesMetricTypeCrossReference_7_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getMeasuredEntityAccess().getMetricTypesMetricTypeCrossReference_7_0(); 
-				return obj;
+			if(param.isInstanceOf(grammarAccess.getWeightedMetricRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0(); 
+				consumed = obj;
+				return param;
 			}
 		}
 		return null;
 	}
 
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new WeightingFunction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
 }
 
-// ("," metricTypes+=[perfdatarepo::MetricType|EString])*
-protected class MeasuredEntity_Group_8 extends GroupToken {
+// ("," weightedMetrics+=WeightedMetric)*
+protected class WeightingFunction_Group_3 extends GroupToken {
 	
-	public MeasuredEntity_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getGroup_8();
+		return grammarAccess.getWeightingFunctionAccess().getGroup_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_MetricTypesAssignment_8_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightingFunction_WeightedMetricsAssignment_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -10956,161 +4926,204 @@ protected class MeasuredEntity_Group_8 extends GroupToken {
 }
 
 // ","
-protected class MeasuredEntity_CommaKeyword_8_0 extends KeywordToken  {
+protected class WeightingFunction_CommaKeyword_3_0 extends KeywordToken  {
 	
-	public MeasuredEntity_CommaKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_CommaKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getCommaKeyword_8_0();
+		return grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new MeasuredEntity_MetricTypesAssignment_7(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new WeightingFunction_Group_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new WeightingFunction_WeightedMetricsAssignment_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// metricTypes+=[perfdatarepo::MetricType|EString]
-protected class MeasuredEntity_MetricTypesAssignment_8_1 extends AssignmentToken  {
+// weightedMetrics+=WeightedMetric
+protected class WeightingFunction_WeightedMetricsAssignment_3_1 extends AssignmentToken  {
 	
-	public MeasuredEntity_MetricTypesAssignment_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_WeightedMetricsAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getMetricTypesAssignment_8_1();
+		return grammarAccess.getWeightingFunctionAccess().getWeightedMetricsAssignment_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_CommaKeyword_8_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("metricTypes",false)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricTypes");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
+		if((value = eObjectConsumer.getConsumable("weightedMetrics",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weightedMetrics");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getMeasuredEntityAccess().getMetricTypesMetricTypeCrossReference_8_1_0().getType().getClassifier())) {
-				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getMeasuredEntityAccess().getMetricTypesMetricTypeCrossReference_8_1_0(); 
-				return obj;
+			if(param.isInstanceOf(grammarAccess.getWeightedMetricRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0(); 
+				consumed = obj;
+				return param;
 			}
 		}
 		return null;
 	}
 
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new WeightingFunction_CommaKeyword_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
 }
 
 
-// ")"
-protected class MeasuredEntity_RightParenthesisKeyword_9 extends KeywordToken  {
+// "}"
+protected class WeightingFunction_RightCurlyBracketKeyword_4 extends KeywordToken  {
 	
-	public MeasuredEntity_RightParenthesisKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightingFunction_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getRightParenthesisKeyword_9();
+		return grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_Group_8(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new MeasuredEntity_MetricTypesAssignment_7(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new WeightingFunction_Group_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new WeightingFunction_WeightedMetricsAssignment_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// "}"
-protected class MeasuredEntity_RightCurlyBracketKeyword_10 extends KeywordToken  {
+
+/************ end Rule WeightingFunction ****************/
+
+
+/************ begin Rule Impact ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'before' before=[perfdatarepo::Result|EString]
+ * 		'after' after=[perfdatarepo::Result|EString]
+ * 	'}'
+ * * / Impact returns perfdatarepo::Impact:
+ * 	"Impact";
+ *
+ **/
+
+// "Impact"
+protected class Impact_ImpactKeyword extends KeywordToken  {
 	
-	public MeasuredEntity_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Impact_ImpactKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMeasuredEntityAccess().getRightCurlyBracketKeyword_10();
+		return grammarAccess.getImpactAccess().getImpactKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MeasuredEntity_RightParenthesisKeyword_9(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
-
-/************ end Rule MeasuredEntity ****************/
+/************ end Rule Impact ****************/
 
 
-/************ begin Rule MetricType ****************
+/************ begin Rule Result ****************
  *
- * MetricType returns perfdatarepo::MetricType:
- * 	"MetricType" id=EString "{" "name" name=EString "}";
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'timestamp' timestamp=EDate
+ * 		'metricValues' '{' metricValues+=MetricValue ( "," metricValues+=MetricValue)* '}' 
+ * 	'}'
+ * * / Result returns perfdatarepo::Result:
+ * 	"Result";
  *
  **/
 
-// "MetricType" id=EString "{" "name" name=EString "}"
-protected class MetricType_Group extends GroupToken {
+// "Result"
+protected class Result_ResultKeyword extends KeywordToken  {
 	
-	public MetricType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Result_ResultKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getGroup();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getResultAccess().getResultKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricType_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getMetricTypeRule().getType().getClassifier())
-			return null;
-		return eObjectConsumer;
-	}
-
 }
 
-// "MetricType"
-protected class MetricType_MetricTypeKeyword_0 extends KeywordToken  {
+/************ end Rule Result ****************/
+
+
+
+/************ begin Rule MetricValue ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'value' value=EDouble
+ * 		'measuredEntity' measuredEntity=[perfdatarepo::MeasuredEntity|EString]
+ * 		'metricType' metricType=[perfdatarepo::MetricType|EString]
+ * 	'}'
+ * * / MetricValue returns perfdatarepo::MetricValue:
+ * 	"MetricValue";
+ *
+ **/
+
+// "MetricValue"
+protected class MetricValue_MetricValueKeyword extends KeywordToken  {
 	
-	public MetricType_MetricTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public MetricValue_MetricValueKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getMetricTypeKeyword_0();
+		return grammarAccess.getMetricValueAccess().getMetricValueKeyword();
 	}
 
     @Override
@@ -11122,100 +5135,124 @@ protected class MetricType_MetricTypeKeyword_0 extends KeywordToken  {
 
 }
 
-// id=EString
-protected class MetricType_IdAssignment_1 extends AssignmentToken  {
+/************ end Rule MetricValue ****************/
+
+
+/************ begin Rule MeasuredEntity ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
+ * 	'}'
+ * * / MeasuredEntity returns perfdatarepo::MeasuredEntity:
+ * 	"MeasuredEntity";
+ *
+ **/
+
+// "MeasuredEntity"
+protected class MeasuredEntity_MeasuredEntityKeyword extends KeywordToken  {
 	
-	public MetricType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public MeasuredEntity_MeasuredEntityKeyword(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getIdAssignment_1();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getMeasuredEntityAccess().getMeasuredEntityKeyword();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricType_MetricTypeKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMetricTypeAccess().getIdEStringParserRuleCall_1_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// "{"
-protected class MetricType_LeftCurlyBracketKeyword_2 extends KeywordToken  {
+/************ end Rule MeasuredEntity ****************/
+
+
+/************ begin Rule MetricType ****************
+ *
+ * / *
+ * 	//id=EString
+ * 	'{'
+ * 		'name' name=EString
+ * 	'}'
+ * * / MetricType returns perfdatarepo::MetricType:
+ * 	"name" name=EString;
+ *
+ **/
+
+// "name" name=EString
+protected class MetricType_Group extends GroupToken {
 	
-	public MetricType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public MetricType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getLeftCurlyBracketKeyword_2();
+	public Group getGrammarElement() {
+		return grammarAccess.getMetricTypeAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new MetricType_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override
+	public IEObjectConsumer tryConsume() {
+		if(getEObject().eClass() != grammarAccess.getMetricTypeRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
+	}
+
 }
 
 // "name"
-protected class MetricType_NameKeyword_3 extends KeywordToken  {
+protected class MetricType_NameKeyword_0 extends KeywordToken  {
 	
-	public MetricType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public MetricType_NameKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getNameKeyword_3();
+		return grammarAccess.getMetricTypeAccess().getNameKeyword_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
 // name=EString
-protected class MetricType_NameAssignment_4 extends AssignmentToken  {
+protected class MetricType_NameAssignment_1 extends AssignmentToken  {
 	
-	public MetricType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public MetricType_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getNameAssignment_4();
+		return grammarAccess.getMetricTypeAccess().getNameAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new MetricType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new MetricType_NameKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11224,9 +5261,9 @@ protected class MetricType_NameAssignment_4 extends AssignmentToken  {
 	public IEObjectConsumer tryConsume() {
 		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getMetricTypeAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getMetricTypeAccess().getNameEStringParserRuleCall_4_0();
+			element = grammarAccess.getMetricTypeAccess().getNameEStringParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -11234,28 +5271,6 @@ protected class MetricType_NameAssignment_4 extends AssignmentToken  {
 
 }
 
-// "}"
-protected class MetricType_RightCurlyBracketKeyword_5 extends KeywordToken  {
-	
-	public MetricType_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getMetricTypeAccess().getRightCurlyBracketKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new MetricType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
 
 /************ end Rule MetricType ****************/
 
@@ -11263,13 +5278,11 @@ protected class MetricType_RightCurlyBracketKeyword_5 extends KeywordToken  {
 /************ begin Rule WeightedMetric ****************
  *
  * WeightedMetric:
- * 	"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
- * 	metricType=[perfdatarepo::MetricType|EString] "}";
+ * 	name=EString "=" weight=EDouble "ref" ":" metricType=[perfdatarepo::MetricType|EString];
  *
  **/
 
-// "WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
-// metricType=[perfdatarepo::MetricType|EString] "}"
+// name=EString "=" weight=EDouble "ref" ":" metricType=[perfdatarepo::MetricType|EString]
 protected class WeightedMetric_Group extends GroupToken {
 	
 	public WeightedMetric_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -11284,7 +5297,7 @@ protected class WeightedMetric_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_MetricTypeAssignment_5(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11298,54 +5311,32 @@ protected class WeightedMetric_Group extends GroupToken {
 
 }
 
-// "WeightedMetric"
-protected class WeightedMetric_WeightedMetricKeyword_0 extends KeywordToken  {
-	
-	public WeightedMetric_WeightedMetricKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-}
-
-// id=EString
-protected class WeightedMetric_IdAssignment_1 extends AssignmentToken  {
+// name=EString
+protected class WeightedMetric_NameAssignment_0 extends AssignmentToken  {
 	
-	public WeightedMetric_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getIdAssignment_1();
+		return grammarAccess.getWeightedMetricAccess().getNameAssignment_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_WeightedMetricKeyword_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0();
+			element = grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0();
 			return obj;
 		}
 		return null;
@@ -11353,77 +5344,55 @@ protected class WeightedMetric_IdAssignment_1 extends AssignmentToken  {
 
 }
 
-// "{"
-protected class WeightedMetric_LeftCurlyBracketKeyword_2 extends KeywordToken  {
-	
-	public WeightedMetric_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedMetric_IdAssignment_1(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "name"
-protected class WeightedMetric_NameKeyword_3 extends KeywordToken  {
+// "="
+protected class WeightedMetric_EqualsSignKeyword_1 extends KeywordToken  {
 	
-	public WeightedMetric_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_EqualsSignKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getNameKeyword_3();
+		return grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// name=EString
-protected class WeightedMetric_NameAssignment_4 extends AssignmentToken  {
+// weight=EDouble
+protected class WeightedMetric_WeightAssignment_2 extends AssignmentToken  {
 	
-	public WeightedMetric_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_WeightAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getNameAssignment_4();
+		return grammarAccess.getWeightedMetricAccess().getWeightAssignment_2();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_NameKeyword_3(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_EqualsSignKeyword_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0(), value, null)) {
+		if((value = eObjectConsumer.getConsumable("weight",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weight");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0();
+			element = grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0();
 			return obj;
 		}
 		return null;
@@ -11431,78 +5400,44 @@ protected class WeightedMetric_NameAssignment_4 extends AssignmentToken  {
 
 }
 
-// "weight"
-protected class WeightedMetric_WeightKeyword_5 extends KeywordToken  {
+// "ref"
+protected class WeightedMetric_RefKeyword_3 extends KeywordToken  {
 	
-	public WeightedMetric_WeightKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_RefKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getWeightKeyword_5();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedMetric_NameAssignment_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// weight=EDouble
-protected class WeightedMetric_WeightAssignment_6 extends AssignmentToken  {
-	
-	public WeightedMetric_WeightAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getWeightAssignment_6();
+		return grammarAccess.getWeightedMetricAccess().getRefKeyword_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_WeightKeyword_5(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_WeightAssignment_2(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("weight",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("weight");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0(), value, null)) {
-			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0();
-			return obj;
-		}
-		return null;
-	}
-
 }
 
-// "metricType"
-protected class WeightedMetric_MetricTypeKeyword_7 extends KeywordToken  {
+// ":"
+protected class WeightedMetric_ColonKeyword_4 extends KeywordToken  {
 	
-	public WeightedMetric_MetricTypeKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_ColonKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7();
+		return grammarAccess.getWeightedMetricAccess().getColonKeyword_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_WeightAssignment_6(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_RefKeyword_3(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11510,21 +5445,21 @@ protected class WeightedMetric_MetricTypeKeyword_7 extends KeywordToken  {
 }
 
 // metricType=[perfdatarepo::MetricType|EString]
-protected class WeightedMetric_MetricTypeAssignment_8 extends AssignmentToken  {
+protected class WeightedMetric_MetricTypeAssignment_5 extends AssignmentToken  {
 	
-	public WeightedMetric_MetricTypeAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public WeightedMetric_MetricTypeAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_8();
+		return grammarAccess.getWeightedMetricAccess().getMetricTypeAssignment_5();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new WeightedMetric_MetricTypeKeyword_7(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new WeightedMetric_ColonKeyword_4(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -11535,9 +5470,9 @@ protected class WeightedMetric_MetricTypeAssignment_8 extends AssignmentToken  {
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("metricType");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0(); 
+				element = grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0(); 
 				return obj;
 			}
 		}
@@ -11546,28 +5481,6 @@ protected class WeightedMetric_MetricTypeAssignment_8 extends AssignmentToken  {
 
 }
 
-// "}"
-protected class WeightedMetric_RightCurlyBracketKeyword_9 extends KeywordToken  {
-	
-	public WeightedMetric_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new WeightedMetric_MetricTypeAssignment_8(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
 
 /************ end Rule WeightedMetric ****************/
 
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g
index c0801b06f44513761b1d79b3e16181573395d526..0c0183706fd5199474bbd294965df87fa640ba6e 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g
@@ -84,16 +84,16 @@ ruleAdaptationProcess returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_id_1_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		set(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
@@ -103,50 +103,50 @@ ruleAdaptationProcess returns [EObject current=null]
     {
     	newLeafNode(otherlv_2, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_2());
     }
-	otherlv_3='name' 
+	otherlv_3='goal' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getNameKeyword_3());
+    	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_goal_4_0=ruleOverallGoal		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		set(
        			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
+       			"goal",
+        		lv_goal_4_0, 
+        		"OverallGoal");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='tactics' 
+)	otherlv_5='actions' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5());
+    	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5());
     }
-	otherlv_6='{' 
+	otherlv_6=':' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6());
+    	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getColonKeyword_6());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); 
 	    }
-		lv_tactics_7_0=ruleTactic		{
+		lv_actions_7_0=ruleAction		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
-       			"tactics",
-        		lv_tactics_7_0, 
-        		"Tactic");
+       			"actions",
+        		lv_actions_7_0, 
+        		"Action");
 	        afterParserOrEnumRuleCall();
 	    }
 
@@ -158,206 +158,168 @@ ruleAdaptationProcess returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); 
 	    }
-		lv_tactics_9_0=ruleTactic		{
+		lv_actions_9_0=ruleAction		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
-       			"tactics",
-        		lv_tactics_9_0, 
-        		"Tactic");
+       			"actions",
+        		lv_actions_9_0, 
+        		"Action");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9());
-    }
-	otherlv_11='actions' 
+))*	otherlv_10='tactics' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10());
+    	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9());
     }
-	otherlv_12='{' 
+	otherlv_11=':' 
     {
-    	newLeafNode(otherlv_12, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_11());
+    	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getColonKeyword_10());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); 
 	    }
-		lv_actions_13_0=ruleAction		{
+		lv_tactics_12_0=ruleTactic		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
-       			"actions",
-        		lv_actions_13_0, 
-        		"Action");
+       			"tactics",
+        		lv_tactics_12_0, 
+        		"Tactic");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_14=',' 
+)(	otherlv_13=',' 
     {
-    	newLeafNode(otherlv_14, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0());
+    	newLeafNode(otherlv_13, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); 
 	    }
-		lv_actions_15_0=ruleAction		{
+		lv_tactics_14_0=ruleTactic		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
-       			"actions",
-        		lv_actions_15_0, 
-        		"Action");
+       			"tactics",
+        		lv_tactics_14_0, 
+        		"Tactic");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_16='}' 
-    {
-    	newLeafNode(otherlv_16, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_14());
-    }
-	otherlv_17='strategies' 
+))*	otherlv_15='strategies' 
     {
-    	newLeafNode(otherlv_17, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15());
+    	newLeafNode(otherlv_15, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13());
     }
-	otherlv_18='{' 
+	otherlv_16=':' 
     {
-    	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16());
+    	newLeafNode(otherlv_16, grammarAccess.getAdaptationProcessAccess().getColonKeyword_14());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); 
 	    }
-		lv_strategies_19_0=ruleStrategy		{
+		lv_strategies_17_0=ruleStrategy		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
        			"strategies",
-        		lv_strategies_19_0, 
+        		lv_strategies_17_0, 
         		"Strategy");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_20=',' 
+)(	otherlv_18=',' 
     {
-    	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0());
+    	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); 
 	    }
-		lv_strategies_21_0=ruleStrategy		{
+		lv_strategies_19_0=ruleStrategy		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
        			"strategies",
-        		lv_strategies_21_0, 
+        		lv_strategies_19_0, 
         		"Strategy");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_22='}' 
-    {
-    	newLeafNode(otherlv_22, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_19());
-    }
-(	otherlv_23='parameters' 
+))*(	otherlv_20='parameters' 
     {
-    	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0());
+    	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0());
     }
-	otherlv_24='{' 
+	otherlv_21=':' 
     {
-    	newLeafNode(otherlv_24, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1());
+    	newLeafNode(otherlv_21, grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); 
 	    }
-		lv_parameters_25_0=ruleParameter		{
+		lv_parameters_22_0=ruleParameter		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
        			"parameters",
-        		lv_parameters_25_0, 
+        		lv_parameters_22_0, 
         		"Parameter");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_26=',' 
+)(	otherlv_23=',' 
     {
-    	newLeafNode(otherlv_26, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0());
+    	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); 
 	    }
-		lv_parameters_27_0=ruleParameter		{
+		lv_parameters_24_0=ruleParameter		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationProcessRule());
 	        }
        		add(
        			$current, 
        			"parameters",
-        		lv_parameters_27_0, 
+        		lv_parameters_24_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();
-	    }
-
-)
-)	otherlv_31='}' 
+))*)?	otherlv_25='}' 
     {
-    	newLeafNode(otherlv_31, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23());
+    	newLeafNode(otherlv_25, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18());
     }
 )
 ;
@@ -438,44 +400,6 @@ ruleAbstractControlFlowElement returns [EObject current=null]
 
 
 
-// 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
@@ -535,16 +459,16 @@ ruleTactic returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+	        newCompositeNode(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_id_1_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getTacticRule());
 	        }
        		set(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
@@ -554,35 +478,13 @@ ruleTactic returns [EObject current=null]
     {
     	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' 
+(	otherlv_3='input' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getTacticAccess().getInputParamsKeyword_5_0());
+    	newLeafNode(otherlv_3, grammarAccess.getTacticAccess().getInputKeyword_3_0());
     }
-	otherlv_6='(' 
+	otherlv_4=':' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1());
+    	newLeafNode(otherlv_4, grammarAccess.getTacticAccess().getColonKeyword_3_1());
     }
 (
 (
@@ -592,16 +494,16 @@ ruleTactic returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_8=',' 
+)(	otherlv_6=',' 
     {
-    	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getCommaKeyword_5_3_0());
+    	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getCommaKeyword_3_3_0());
     }
 (
 (
@@ -611,20 +513,20 @@ ruleTactic returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_10=')' 
+))*)?(	otherlv_8='output' 
     {
-    	newLeafNode(otherlv_10, grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4());
+    	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getOutputKeyword_4_0());
     }
-)?(	otherlv_11='outputParam' 
+	otherlv_9=':' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getOutputParamKeyword_6_0());
+    	newLeafNode(otherlv_9, grammarAccess.getTacticAccess().getColonKeyword_4_1());
     }
 (
 (
@@ -634,38 +536,42 @@ ruleTactic returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?	otherlv_13='implementedPlan' 
+))?	otherlv_11='implementedPlan' 
+    {
+    	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getImplementedPlanKeyword_5());
+    }
+	otherlv_12=':' 
     {
-    	newLeafNode(otherlv_13, grammarAccess.getTacticAccess().getImplementedPlanKeyword_7());
+    	newLeafNode(otherlv_12, grammarAccess.getTacticAccess().getColonKeyword_6());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); 
 	    }
-		lv_implementedPlan_14_0=ruleAdaptationPlan		{
+		lv_implementedPlan_13_0=ruleAdaptationPlan		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getTacticRule());
 	        }
        		set(
        			$current, 
        			"implementedPlan",
-        		lv_implementedPlan_14_0, 
+        		lv_implementedPlan_13_0, 
         		"AdaptationPlan");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_15='}' 
+)	otherlv_14='}' 
     {
-    	newLeafNode(otherlv_15, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9());
+    	newLeafNode(otherlv_14, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8());
     }
 )
 ;
@@ -695,16 +601,16 @@ ruleAction returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+	        newCompositeNode(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_id_1_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getActionRule());
 	        }
        		set(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
@@ -714,31 +620,13 @@ ruleAction returns [EObject current=null]
     {
     	newLeafNode(otherlv_2, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2());
     }
-	otherlv_3='name' 
+(	otherlv_3='input' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getNameKeyword_3());
+    	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getInputKeyword_3_0());
     }
-(
-(
-		{ 
-	        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' 
+	otherlv_4=':' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getActionAccess().getOutputParamKeyword_5_0());
+    	newLeafNode(otherlv_4, grammarAccess.getActionAccess().getColonKeyword_3_1());
     }
 (
 (
@@ -748,20 +636,16 @@ ruleAction returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
+	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?(	otherlv_7='inputParams' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getActionAccess().getInputParamsKeyword_6_0());
-    }
-	otherlv_8='(' 
+)(	otherlv_6=',' 
     {
-    	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1());
+    	newLeafNode(otherlv_6, grammarAccess.getActionAccess().getCommaKeyword_3_3_0());
     }
 (
 (
@@ -771,16 +655,20 @@ ruleAction returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_10=',' 
+))*)?(	otherlv_8='output' 
     {
-    	newLeafNode(otherlv_10, grammarAccess.getActionAccess().getCommaKeyword_6_3_0());
+    	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getOutputKeyword_4_0());
+    }
+	otherlv_9=':' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getActionAccess().getColonKeyword_4_1());
     }
 (
 (
@@ -790,20 +678,20 @@ ruleAction returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_12=')' 
+))?	otherlv_11='referredAdaptationPoint' 
     {
-    	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4());
+    	newLeafNode(otherlv_11, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5());
     }
-)?	otherlv_13='referredAdaptationPoint' 
+	otherlv_12=':' 
     {
-    	newLeafNode(otherlv_13, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7());
+    	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getColonKeyword_6());
     }
 (
 (
@@ -813,16 +701,20 @@ ruleAction returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_15='adaptationActionOperation' 
+)	otherlv_14='adaptationActionOperation' 
+    {
+    	newLeafNode(otherlv_14, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8());
+    }
+	otherlv_15=':' 
     {
-    	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9());
+    	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getColonKeyword_9());
     }
 (
 (
@@ -874,16 +766,16 @@ ruleStrategy returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_id_1_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getStrategyRule());
 	        }
        		set(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
@@ -893,31 +785,13 @@ ruleStrategy returns [EObject current=null]
     {
     	newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
     }
-	otherlv_3='name' 
+	otherlv_3='objective' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getNameKeyword_3());
+    	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getObjectiveKeyword_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' 
+	otherlv_4='=' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getObjectiveKeyword_5());
+    	newLeafNode(otherlv_4, grammarAccess.getStrategyAccess().getEqualsSignKeyword_4());
     }
 (
 (
@@ -927,16 +801,20 @@ ruleStrategy returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_7='triggeringEvents' 
+)	otherlv_6='triggeringEvents' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6());
+    }
+	otherlv_7='=' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7());
+    	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getEqualsSignKeyword_7());
     }
 (
 (
@@ -960,9 +838,9 @@ ruleStrategy returns [EObject current=null]
     {
     	newLeafNode(otherlv_9, grammarAccess.getStrategyAccess().getTacticsKeyword_9());
     }
-	otherlv_10='{' 
+	otherlv_10=':' 
     {
-    	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10());
+    	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getColonKeyword_10());
     }
 (
 (
@@ -1004,13 +882,13 @@ ruleStrategy returns [EObject current=null]
 	    }
 
 )
-))*	otherlv_14='}' 
+))*	otherlv_14='weightingFunction' 
     {
-    	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13());
+    	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13());
     }
-	otherlv_15='weightingFunction' 
+	otherlv_15=':' 
     {
-    	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14());
+    	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getColonKeyword_14());
     }
 (
 (
@@ -1055,59 +933,43 @@ 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()); 
+	        newCompositeNode(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); 
 	    }
-		lv_name_1_0=ruleEString		{
+		lv_type_0_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getParameterRule());
 	        }
        		set(
        			$current, 
-       			"name",
-        		lv_name_1_0, 
+       			"type",
+        		lv_type_0_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()); 
+	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_type_4_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getParameterRule());
 	        }
        		set(
        			$current, 
-       			"type",
-        		lv_type_4_0, 
+       			"name",
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='}' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5());
-    }
-)
+))
 ;
 
 
@@ -1128,93 +990,81 @@ ruleOverallGoal returns [EObject current=null]
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(	otherlv_0='OverallGoal' 
+(	otherlv_0='Description' 
     {
-    	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0());
+    	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0());
     }
-	otherlv_1='{' 
+	otherlv_1=':' 
     {
-    	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1());
-    }
-	otherlv_2='description' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2());
+    	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getColonKeyword_1());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); 
 	    }
-		lv_description_3_0=ruleEString		{
+		lv_description_2_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
 	        }
        		set(
        			$current, 
        			"description",
-        		lv_description_3_0, 
+        		lv_description_2_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_4='objectives' 
+)	otherlv_3='objectives' 
     {
-    	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4());
+    	newLeafNode(otherlv_3, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3());
     }
-	otherlv_5='{' 
+	otherlv_4=':' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5());
+    	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getColonKeyword_4());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); 
 	    }
-		lv_objectives_6_0=ruleObjective		{
+		lv_objectives_5_0=ruleObjective		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
 	        }
        		add(
        			$current, 
        			"objectives",
-        		lv_objectives_6_0, 
+        		lv_objectives_5_0, 
         		"Objective");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_7=',' 
+)(	otherlv_6=',' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0());
+    	newLeafNode(otherlv_6, grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); 
 	    }
-		lv_objectives_8_0=ruleObjective		{
+		lv_objectives_7_0=ruleObjective		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getOverallGoalRule());
 	        }
        		add(
        			$current, 
        			"objectives",
-        		lv_objectives_8_0, 
+        		lv_objectives_7_0, 
         		"Objective");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8());
-    }
-	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9());
-    }
-)
+))*)
 ;
 
 
@@ -1235,111 +1085,69 @@ 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()); 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_steps_0_0=ruleStartAction		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
 	        }
-       		set(
+       		add(
        			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
+       			"steps",
+        		lv_steps_0_0, 
+        		"StartAction");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_5='steps' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0());
-    }
-	otherlv_6='{' 
+)(	otherlv_1=',' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1());
+    	newLeafNode(otherlv_1, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); 
 	    }
-		lv_steps_7_0=ruleAbstractControlFlowElement		{
+		lv_steps_2_0=ruleAbstractControlFlowElement		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
 	        }
        		add(
        			$current, 
        			"steps",
-        		lv_steps_7_0, 
+        		lv_steps_2_0, 
         		"AbstractControlFlowElement");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_8=',' 
+))*	otherlv_3=',' 
     {
-    	newLeafNode(otherlv_8, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0());
+    	newLeafNode(otherlv_3, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
+	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); 
 	    }
-		lv_steps_9_0=ruleAbstractControlFlowElement		{
+		lv_steps_4_0=ruleStopAction		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
 	        }
        		add(
        			$current, 
        			"steps",
-        		lv_steps_9_0, 
-        		"AbstractControlFlowElement");
+        		lv_steps_4_0, 
+        		"StopAction");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4());
-    }
-)?	otherlv_11='}' 
-    {
-    	newLeafNode(otherlv_11, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6());
-    }
-)
+))
 ;
 
 
@@ -1370,166 +1178,32 @@ ruleStartAction returns [EObject current=null]
     {
     	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());
+;
+
+
+
+
+
+// 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(); 
     }
-(	otherlv_4='predecessor' 
+    @after { leaveRule(); }:
+	otherlv_0='StopAction' 
     {
-    	newLeafNode(otherlv_4, grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0());
+    	newLeafNode(otherlv_0, grammarAccess.getStopActionAccess().getStopActionKeyword());
     }
-(
-(
-		{
-			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());
-    }
-)
 ;
 
 
@@ -1550,119 +1224,11 @@ 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='counter' 
-    {
-    	newLeafNode(otherlv_3, grammarAccess.getLoopActionAccess().getCounterKeyword_3());
-    }
-(
-(
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); 
-	    }
-		lv_counter_4_0=ruleEInt		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getLoopActionRule());
-	        }
-       		set(
-       			$current, 
-       			"counter",
-        		lv_counter_4_0, 
-        		"EInt");
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)(	otherlv_5='predecessor' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getLoopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?(	otherlv_7='successor' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0());
-    }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getLoopActionRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-))?	otherlv_9='body' 
+	otherlv_0='LoopAction' 
     {
-    	newLeafNode(otherlv_9, grammarAccess.getLoopActionAccess().getBodyKeyword_7());
+    	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword());
     }
-(
-(
-		{ 
-	        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());
-    }
-)
 ;
 
 
@@ -1683,161 +1249,12 @@ ruleBranchAction returns [EObject current=null]
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(	otherlv_0='BranchAction' 
+	otherlv_0='BranchAction' 
     {
-    	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
+    	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword());
     }
-(
-(
-		{ 
-	        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());
-    }
-)
-;
+;
 
 
 
@@ -1847,471 +1264,58 @@ ruleBranchAction returns [EObject current=null]
 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 entryRuleEInt
-entryRuleEInt returns [String current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getEIntRule()); } 
-	 iv_ruleEInt=ruleEInt 
-	 { $current=$iv_ruleEInt.current.getText(); }  
-	 EOF 
-;
-
-// Rule EInt
-ruleEInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-((
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 
-    }
-)?    this_INT_1=RULE_INT    {
-		$current.merge(this_INT_1);
-    }
-
-    { 
-    newLeafNode(this_INT_1, grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 
-    }
-)
-    ;
-
-
-
-
-
-// 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();
-	    }
+	 iv_ruleActionReference=ruleActionReference 
+	 { $current=$iv_ruleActionReference.current; } 
+	 EOF 
+;
 
-)
-)	otherlv_5='adaptableEntity' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5());
+// Rule ActionReference
+ruleActionReference returns [EObject current=null] 
+    @init { enterRule(); 
     }
-(
-(
-		{
-			if ($current==null) {
-	            $current = createModelElement(grammarAccess.getModelEntityConfigurationRangeRule());
-	        }
-        }
-		{ 
-	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
-	    }
-		ruleEString		{ 
-	        afterParserOrEnumRuleCall();
-	    }
-
-)
-)	otherlv_7='variationPossibility' 
+    @after { leaveRule(); }:
+	otherlv_0='ActionReference' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7());
+    	newLeafNode(otherlv_0, grammarAccess.getActionReferenceAccess().getActionReferenceKeyword());
     }
-(
-(
-		{ 
-	        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='}' 
+;
+
+
+
+
+
+
+
+// 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='AdaptionActionOperation' 
     {
-    	newLeafNode(otherlv_9, grammarAccess.getModelEntityConfigurationRangeAccess().getRightCurlyBracketKeyword_9());
+    	newLeafNode(otherlv_0, grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword());
     }
-)
+
 ;
 
 
 
 
 
+
+
+
+
 // Entry rule entryRuleEDouble
 entryRuleEDouble returns [String current=null] 
 	:
@@ -2399,63 +1403,11 @@ rulePropertyRange returns [EObject current=null]
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(	otherlv_0='PropertyRange' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0());
-    }
-	otherlv_1='{' 
+	otherlv_0='PropertyRange' 
     {
-    	newLeafNode(otherlv_1, grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1());
+    	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword());
     }
-	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());
-    }
-)
 ;
 
 
@@ -2476,215 +1428,18 @@ 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='}' 
+	otherlv_0='SetOfConfigurations' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5());
+    	newLeafNode(otherlv_0, grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword());
     }
-)
-;
 
-
-
-
-
-// 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()); 
-    }
 
-    ;
 
 
 
@@ -2692,93 +1447,63 @@ ruleAdaptationDirection returns [AntlrDatatypeRuleToken current=new AntlrDatatyp
 
 // 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();
-	    }
+	:
+	{ newCompositeNode(grammarAccess.getObjectiveRule()); }
+	 iv_ruleObjective=ruleObjective 
+	 { $current=$iv_ruleObjective.current; } 
+	 EOF 
+;
 
-)
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2());
+// Rule Objective
+ruleObjective returns [EObject current=null] 
+    @init { enterRule(); 
     }
-	otherlv_3='name' 
+    @after { leaveRule(); }:
+(	otherlv_0='Objective' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getObjectiveAccess().getNameKeyword_3());
+    	newLeafNode(otherlv_0, grammarAccess.getObjectiveAccess().getObjectiveKeyword_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_name_1_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
 	        }
        		set(
        			$current, 
        			"name",
-        		lv_name_4_0, 
+        		lv_name_1_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='specification' 
+)	otherlv_2='=' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getObjectiveAccess().getSpecificationKeyword_5());
+    	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); 
+	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); 
 	    }
-		lv_specification_6_0=ruleEString		{
+		lv_specification_3_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getObjectiveRule());
 	        }
        		set(
        			$current, 
        			"specification",
-        		lv_specification_6_0, 
+        		lv_specification_3_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_7='}' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7());
-    }
-)
+))
 ;
 
 
@@ -2799,58 +1524,24 @@ 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()); 
+	        newCompositeNode(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_name_0_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getEventRule());
 	        }
        		set(
        			$current, 
        			"name",
-        		lv_name_4_0, 
+        		lv_name_0_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='}' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5());
-    }
 )
 ;
 
@@ -2872,120 +1563,82 @@ 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()); 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); 
 	    }
-		lv_id_1_0=ruleEString		{
+		lv_name_0_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
 	        }
        		set(
        			$current, 
-       			"id",
-        		lv_id_1_0, 
+       			"name",
+        		lv_name_0_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_2='{' 
-    {
-    	newLeafNode(otherlv_2, grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2());
-    }
-	otherlv_3='name' 
+)	otherlv_1='=' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getWeightedTacticAccess().getNameKeyword_3());
+    	newLeafNode(otherlv_1, grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1());
     }
 (
 (
+		{
+			if ($current==null) {
+	            $current = createModelElement(grammarAccess.getWeightedTacticRule());
+	        }
+        }
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
-	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
-	        }
-       		set(
-       			$current, 
-       			"name",
-        		lv_name_4_0, 
-        		"EString");
+		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='currentWeight' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5());
-    }
-(
+)(
 (
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); 
 	    }
-		lv_currentWeight_6_0=ruleEDouble		{
+		lv_currentWeight_3_0=ruleEDouble		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
 	        }
        		set(
        			$current, 
        			"currentWeight",
-        		lv_currentWeight_6_0, 
+        		lv_currentWeight_3_0, 
         		"EDouble");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_7='defaultWeight' 
-    {
-    	newLeafNode(otherlv_7, grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7());
-    }
-(
+)(
 (
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); 
 	    }
-		lv_defaultWeight_8_0=ruleEDouble		{
+		lv_defaultWeight_4_0=ruleEDouble		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
 	        }
        		set(
        			$current, 
        			"defaultWeight",
-        		lv_defaultWeight_8_0, 
+        		lv_defaultWeight_4_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' 
+)(	otherlv_5='lastImpact' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0());
+    	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0());
     }
 (
 (
@@ -2995,18 +1648,14 @@ ruleWeightedTactic returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
+	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))?	otherlv_13='}' 
-    {
-    	newLeafNode(otherlv_13, grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12());
-    }
-)
+))?)
 ;
 
 
@@ -3027,109 +1676,71 @@ 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()); 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_name_0_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
 	        }
        		set(
        			$current, 
        			"name",
-        		lv_name_4_0, 
+        		lv_name_0_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='weightedMetrics' 
-    {
-    	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_5());
-    }
-	otherlv_6='{' 
+)	otherlv_1='{' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_6());
+    	newLeafNode(otherlv_1, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); 
 	    }
-		lv_weightedMetrics_7_0=ruleWeightedMetric		{
+		lv_weightedMetrics_2_0=ruleWeightedMetric		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
 	        }
        		add(
        			$current, 
        			"weightedMetrics",
-        		lv_weightedMetrics_7_0, 
+        		lv_weightedMetrics_2_0, 
         		"WeightedMetric");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_8=',' 
+)(	otherlv_3=',' 
     {
-    	newLeafNode(otherlv_8, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0());
+    	newLeafNode(otherlv_3, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); 
+	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); 
 	    }
-		lv_weightedMetrics_9_0=ruleWeightedMetric		{
+		lv_weightedMetrics_4_0=ruleWeightedMetric		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
 	        }
        		add(
        			$current, 
        			"weightedMetrics",
-        		lv_weightedMetrics_9_0, 
+        		lv_weightedMetrics_4_0, 
         		"WeightedMetric");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_10='}' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9());
-    }
-	otherlv_11='}' 
+))*	otherlv_5='}' 
     {
-    	newLeafNode(otherlv_11, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10());
+    	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4());
     }
 )
 ;
@@ -3142,162 +1753,6 @@ ruleWeightingFunction returns [EObject current=null]
 
 
 
-// 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());
-    }
-)
-;
-
 
 
 
@@ -3320,79 +1775,53 @@ 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()); 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); 
 	    }
-		lv_name_4_0=ruleEString		{
+		lv_name_0_0=ruleEString		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
 	        }
        		set(
        			$current, 
        			"name",
-        		lv_name_4_0, 
+        		lv_name_0_0, 
         		"EString");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_5='weight' 
+)	otherlv_1='=' 
     {
-    	newLeafNode(otherlv_5, grammarAccess.getWeightedMetricAccess().getWeightKeyword_5());
+    	newLeafNode(otherlv_1, grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); 
 	    }
-		lv_weight_6_0=ruleEDouble		{
+		lv_weight_2_0=ruleEDouble		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getWeightedMetricRule());
 	        }
        		set(
        			$current, 
        			"weight",
-        		lv_weight_6_0, 
+        		lv_weight_2_0, 
         		"EDouble");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_7='metricType' 
+)	otherlv_3='ref' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getWeightedMetricAccess().getRefKeyword_3());
+    }
+	otherlv_4=':' 
     {
-    	newLeafNode(otherlv_7, grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7());
+    	newLeafNode(otherlv_4, grammarAccess.getWeightedMetricAccess().getColonKeyword_4());
     }
 (
 (
@@ -3402,18 +1831,14 @@ ruleWeightedMetric returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)	otherlv_9='}' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9());
-    }
-)
+))
 ;
 
 
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.tokens b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.tokens
index d802a75e6df048384685d3a618fd25e970160717..8f0462d2a95068d8f0a978ea354a2d339892f5e2 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.tokens
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.tokens
@@ -10,63 +10,16 @@ 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__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
@@ -78,9 +31,11 @@ T__45=45
 T__48=48
 T__49=49
 RULE_SL_COMMENT=8
+RULE_ML_COMMENT=7
 T__30=30
 T__31=31
 T__32=32
+RULE_STRING=4
 T__33=33
 T__34=34
 T__35=35
@@ -89,87 +44,42 @@ T__37=37
 T__38=38
 T__39=39
 RULE_WS=9
-'adaptationActionOperation'=29
-'adaptationOperationScope'=57
-'Objective'=78
-'counter'=46
-'conditionFalseBranch'=52
-'type'=35
-'Event'=80
-'e'=67
-'AdaptationPlan'=39
-'value'=90
-'weightingFunction'=33
-'maxValue'=61
-'minValueConstraint'=69
-'inputParams'=22
-'body'=47
-'defaultWeight'=83
-'currentWeight'=82
-'.'=65
-'adaptableEntity'=62
-'OclConstraint'=74
-'usedTactic'=84
-'objectives'=38
-'SetOfConfigurations'=71
-'condition'=49
-'AdaptationDirection'=77
-'referredAdaptationPoint'=28
-'{'=12
-'conditionTrueBranch'=51
-'goal'=20
-'EDate'=88
-'WeightingFunction'=86
-'('=23
-'-'=55
-'tactics'=14
-','=15
-'context'=50
-'implementedPlan'=26
-'AdaptationActionOperation'=56
-'ActionReference'=53
-'refersTo'=54
-'WeightedMetric'=93
-'variationPossibility'=64
-'oclString'=75
-'valueConstraint'=73
-'StopAction'=44
-'weightedMetrics'=87
-'ModelVariableConfigurationRange'=59
-'steps'=40
-'metricType'=92
-'lastImpact'=85
-'BranchAction'=48
-'ModelEntityConfigurationRange'=63
+'adaptationActionOperation'=27
+'AdaptionActionOperation'=40
+'implementedPlan'=24
+'Objective'=47
+'Description'=33
+'ActionReference'=39
+'output'=23
+'StopAction'=36
+'e'=44
+'lastImpact'=48
+'BranchAction'=38
+'='=30
+'weightingFunction'=32
 'Tactic'=21
-'successor'=43
-'Strategy'=30
-')'=24
-'AdaptationScope'=76
+'.'=42
+'Strategy'=28
 'strategies'=18
-'StartAction'=41
-'triggeringEvents'=32
-'specification'=79
-'}'=16
+'StartAction'=35
+'triggeringEvents'=31
+'objectives'=34
+'}'=20
 'parameters'=19
-'LoopAction'=45
-'minValue'=60
-'objective'=31
-'actions'=17
-'weight'=94
-'maxValueConstraint'=70
-'description'=37
-'predecessor'=42
-'measuredEntity'=91
-'WeightedTactic'=81
+'SetOfConfigurations'=46
+'LoopAction'=37
+'actions'=14
+'objective'=29
+'referredAdaptationPoint'=26
+'{'=12
+'goal'=13
 'AdaptationProcess'=11
-'Parameter'=34
-'Action'=27
-'OverallGoal'=36
-'PropertyRange'=68
-'adaptationOperationDirection'=58
-'outputParam'=25
-'name'=13
-'E'=66
-'MetricValue'=89
-'variants'=72
+'Action'=25
+'PropertyRange'=45
+'ref'=49
+':'=15
+'-'=41
+'tactics'=17
+','=16
+'E'=43
+'input'=22
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageLexer.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageLexer.java
index 6eac53c8fb76ecc79ed8f6a5f469e423d1a2533f..8bfcdfc4fadb4be01626d027e01cf9a001528e82 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageLexer.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageLexer.java
@@ -21,17 +21,12 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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 RULE_ANY_OTHER=10;
     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;
@@ -39,49 +34,7 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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__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;
@@ -93,9 +46,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     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 RULE_ML_COMMENT=7;
     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 RULE_STRING=4;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
@@ -164,10 +119,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__13;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:13:7: ( 'name' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:13:9: 'name'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:13:7: ( 'goal' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:13:9: 'goal'
             {
-            match("name"); 
+            match("goal"); 
 
 
             }
@@ -185,10 +140,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:14:7: ( 'tactics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:14:9: 'tactics'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:14:7: ( 'actions' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:14:9: 'actions'
             {
-            match("tactics"); 
+            match("actions"); 
 
 
             }
@@ -206,10 +161,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:15:7: ( ',' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:15:9: ','
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:15:7: ( ':' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:15:9: ':'
             {
-            match(','); 
+            match(':'); 
 
             }
 
@@ -226,10 +181,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:16:7: ( '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:16:9: '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:16:7: ( ',' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:16:9: ','
             {
-            match('}'); 
+            match(','); 
 
             }
 
@@ -246,10 +201,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:17:7: ( 'actions' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:17:9: 'actions'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:17:7: ( 'tactics' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:17:9: 'tactics'
             {
-            match("actions"); 
+            match("tactics"); 
 
 
             }
@@ -309,11 +264,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:20:7: ( 'goal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:20:9: 'goal'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:20:7: ( '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:20:9: '}'
             {
-            match("goal"); 
-
+            match('}'); 
 
             }
 
@@ -351,10 +305,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:22:7: ( 'inputParams' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:22:9: 'inputParams'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:22:7: ( 'input' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:22:9: 'input'
             {
-            match("inputParams"); 
+            match("input"); 
 
 
             }
@@ -372,10 +326,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:23:7: ( '(' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:23:9: '('
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:23:7: ( 'output' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:23:9: 'output'
             {
-            match('('); 
+            match("output"); 
+
 
             }
 
@@ -392,10 +347,11 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:24:7: ( ')' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:24:9: ')'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:24:7: ( 'implementedPlan' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:24:9: 'implementedPlan'
             {
-            match(')'); 
+            match("implementedPlan"); 
+
 
             }
 
@@ -412,10 +368,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:25:7: ( 'outputParam' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:25:9: 'outputParam'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:25:7: ( 'Action' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:25:9: 'Action'
             {
-            match("outputParam"); 
+            match("Action"); 
 
 
             }
@@ -433,10 +389,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:26:7: ( 'implementedPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:26:9: 'implementedPlan'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:26:7: ( 'referredAdaptationPoint' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:26:9: 'referredAdaptationPoint'
             {
-            match("implementedPlan"); 
+            match("referredAdaptationPoint"); 
 
 
             }
@@ -454,10 +410,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:27:7: ( 'Action' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:27:9: 'Action'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:27:7: ( 'adaptationActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:27:9: 'adaptationActionOperation'
             {
-            match("Action"); 
+            match("adaptationActionOperation"); 
 
 
             }
@@ -475,10 +431,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:28:7: ( 'referredAdaptationPoint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:28:9: 'referredAdaptationPoint'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:28:7: ( 'Strategy' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:28:9: 'Strategy'
             {
-            match("referredAdaptationPoint"); 
+            match("Strategy"); 
 
 
             }
@@ -496,10 +452,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:29:7: ( 'adaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:29:9: 'adaptationActionOperation'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:29:7: ( 'objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:29:9: 'objective'
             {
-            match("adaptationActionOperation"); 
+            match("objective"); 
 
 
             }
@@ -517,11 +473,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:30:7: ( 'Strategy' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:30:9: 'Strategy'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:30:7: ( '=' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:30:9: '='
             {
-            match("Strategy"); 
-
+            match('='); 
 
             }
 
@@ -538,10 +493,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:31:7: ( 'objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:31:9: 'objective'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:31:7: ( 'triggeringEvents' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:31:9: 'triggeringEvents'
             {
-            match("objective"); 
+            match("triggeringEvents"); 
 
 
             }
@@ -559,10 +514,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:32:7: ( 'triggeringEvents' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:32:9: 'triggeringEvents'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:32:7: ( 'weightingFunction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:32:9: 'weightingFunction'
             {
-            match("triggeringEvents"); 
+            match("weightingFunction"); 
 
 
             }
@@ -580,10 +535,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:33:7: ( 'weightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:33:9: 'weightingFunction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:33:7: ( 'Description' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:33:9: 'Description'
             {
-            match("weightingFunction"); 
+            match("Description"); 
 
 
             }
@@ -601,10 +556,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:34:7: ( 'Parameter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:34:9: 'Parameter'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:34:7: ( 'objectives' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:34:9: 'objectives'
             {
-            match("Parameter"); 
+            match("objectives"); 
 
 
             }
@@ -622,10 +577,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:35:7: ( 'type' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:35:9: 'type'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:35:7: ( 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:35:9: 'StartAction'
             {
-            match("type"); 
+            match("StartAction"); 
 
 
             }
@@ -643,10 +598,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:36:7: ( 'OverallGoal' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:36:9: 'OverallGoal'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:36:7: ( 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:36:9: 'StopAction'
             {
-            match("OverallGoal"); 
+            match("StopAction"); 
 
 
             }
@@ -664,10 +619,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:37:7: ( 'description' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:37:9: 'description'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:37:7: ( 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:37:9: 'LoopAction'
             {
-            match("description"); 
+            match("LoopAction"); 
 
 
             }
@@ -685,10 +640,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:38:7: ( 'objectives' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:38:9: 'objectives'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:38:7: ( 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:38:9: 'BranchAction'
             {
-            match("objectives"); 
+            match("BranchAction"); 
 
 
             }
@@ -706,10 +661,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:39:7: ( 'AdaptationPlan' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:39:9: 'AdaptationPlan'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:39:7: ( 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:39:9: 'ActionReference'
             {
-            match("AdaptationPlan"); 
+            match("ActionReference"); 
 
 
             }
@@ -727,10 +682,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:40:7: ( 'steps' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:40:9: 'steps'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:40:7: ( 'AdaptionActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:40:9: 'AdaptionActionOperation'
             {
-            match("steps"); 
+            match("AdaptionActionOperation"); 
 
 
             }
@@ -748,11 +703,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:41:7: ( 'StartAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:41:9: 'StartAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:41:7: ( '-' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:41:9: '-'
             {
-            match("StartAction"); 
-
+            match('-'); 
 
             }
 
@@ -769,11 +723,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:42:7: ( 'predecessor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:42:9: 'predecessor'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:42:7: ( '.' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:42:9: '.'
             {
-            match("predecessor"); 
-
+            match('.'); 
 
             }
 
@@ -790,11 +743,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:43:7: ( 'successor' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:43:9: 'successor'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:43:7: ( 'E' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:43:9: 'E'
             {
-            match("successor"); 
-
+            match('E'); 
 
             }
 
@@ -811,11 +763,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:44:7: ( 'StopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:44:9: 'StopAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:44:7: ( 'e' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:44:9: 'e'
             {
-            match("StopAction"); 
-
+            match('e'); 
 
             }
 
@@ -832,10 +783,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:45:7: ( 'LoopAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:45:9: 'LoopAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:45:7: ( 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:45:9: 'PropertyRange'
             {
-            match("LoopAction"); 
+            match("PropertyRange"); 
 
 
             }
@@ -853,10 +804,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:46:7: ( 'counter' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:46:9: 'counter'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:46:7: ( 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:46:9: 'SetOfConfigurations'
             {
-            match("counter"); 
+            match("SetOfConfigurations"); 
 
 
             }
@@ -874,10 +825,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:47:7: ( 'body' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:47:9: 'body'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:47:7: ( 'Objective' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:47:9: 'Objective'
             {
-            match("body"); 
+            match("Objective"); 
 
 
             }
@@ -895,10 +846,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:48:7: ( 'BranchAction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:48:9: 'BranchAction'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:48:7: ( 'lastImpact' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:48:9: 'lastImpact'
             {
-            match("BranchAction"); 
+            match("lastImpact"); 
 
 
             }
@@ -916,10 +867,10 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:49:7: ( 'condition' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:49:9: 'condition'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:49:7: ( 'ref' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:49:9: 'ref'
             {
-            match("condition"); 
+            match("ref"); 
 
 
             }
@@ -932,99 +883,73 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
     }
     // $ANTLR end "T__49"
 
-    // $ANTLR start "T__50"
-    public final void mT__50() throws RecognitionException {
+    // $ANTLR start "RULE_ID"
+    public final void mRULE_ID() throws RecognitionException {
         try {
-            int _type = T__50;
+            int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:50:7: ( 'context' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:50:9: 'context'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            match("context"); 
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848:11: '^'
+                    {
+                    match('^'); 
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:51:7: ( 'conditionTrueBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:51:9: 'conditionTrueBranch'
-            {
-            match("conditionTrueBranch"); 
-
+                    }
+                    break;
 
             }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__51"
+            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:52:7: ( 'conditionFalseBranch' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:52:9: 'conditionFalseBranch'
-            {
-            match("conditionFalseBranch"); 
+            }
+            else {
+                MismatchedSetException mse = new MismatchedSetException(null,input);
+                recover(mse);
+                throw mse;}
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848: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;
+                }
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:53:7: ( 'ActionReference' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:53:9: 'ActionReference'
-            {
-            match("ActionReference"); 
+                switch (alt2) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__53"
+            	    }
+            	    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:54:7: ( 'refersTo' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:54:9: 'refersTo'
-            {
-            match("refersTo"); 
+            	default :
+            	    break loop2;
+                }
+            } while (true);
 
 
             }
@@ -1035,37 +960,45 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__54"
+    // $ANTLR end "RULE_ID"
 
-    // $ANTLR start "T__55"
-    public final void mT__55() throws RecognitionException {
+    // $ANTLR start "RULE_INT"
+    public final void mRULE_INT() throws RecognitionException {
         try {
-            int _type = T__55;
+            int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:55:7: ( '-' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:55:9: '-'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1850:10: ( ( '0' .. '9' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1850:12: ( '0' .. '9' )+
             {
-            match('-'); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1850: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;
+                }
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:56:7: ( 'AdaptationActionOperation' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:56:9: 'AdaptationActionOperation'
-            {
-            match("AdaptationActionOperation"); 
+                switch (alt3) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1850:13: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt3 >= 1 ) break loop3;
+                        EarlyExitException eee =
+                            new EarlyExitException(3, input);
+                        throw eee;
+                }
+                cnt3++;
+            } while (true);
 
 
             }
@@ -1076,143 +1009,155 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__56"
+    // $ANTLR end "RULE_INT"
 
-    // $ANTLR start "T__57"
-    public final void mT__57() throws RecognitionException {
+    // $ANTLR start "RULE_STRING"
+    public final void mRULE_STRING() throws RecognitionException {
         try {
-            int _type = T__57;
+            int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:57:7: ( 'adaptationOperationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:57:9: 'adaptationOperationScope'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            match("adaptationOperationScope"); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    {
+                    match('\"'); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop4:
+                    do {
+                        int alt4=3;
+                        int LA4_0 = input.LA(1);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__57"
+                        if ( (LA4_0=='\\') ) {
+                            alt4=1;
+                        }
+                        else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+                            alt4=2;
+                        }
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:58:7: ( 'adaptationOperationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:58:9: 'adaptationOperationDirection'
-            {
-            match("adaptationOperationDirection"); 
 
+                        switch (alt4) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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;}
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:59:7: ( 'ModelVariableConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:59:9: 'ModelVariableConfigurationRange'
-            {
-            match("ModelVariableConfigurationRange"); 
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__59"
+                    	    }
+                    	    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:60:7: ( 'minValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:60:9: 'minValue'
-            {
-            match("minValue"); 
+                    	default :
+                    	    break loop4;
+                        }
+                    } while (true);
 
+                    match('\"'); 
 
-            }
+                    }
+                    break;
+                case 2 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    {
+                    match('\''); 
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop5:
+                    do {
+                        int alt5=3;
+                        int LA5_0 = input.LA(1);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__60"
+                        if ( (LA5_0=='\\') ) {
+                            alt5=1;
+                        }
+                        else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+                            alt5=2;
+                        }
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:61:7: ( 'maxValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:61:9: 'maxValue'
-            {
-            match("maxValue"); 
 
+                        switch (alt5) {
+                    	case 1 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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;}
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:62:7: ( 'adaptableEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:62:9: 'adaptableEntity'
-            {
-            match("adaptableEntity"); 
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1852: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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__62"
+                    	    }
+                    	    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:63:7: ( 'ModelEntityConfigurationRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:63:9: 'ModelEntityConfigurationRange'
-            {
-            match("ModelEntityConfigurationRange"); 
+                    	default :
+                    	    break loop5;
+                        }
+                    } while (true);
+
+                    match('\''); 
+
+                    }
+                    break;
+
+            }
 
 
             }
@@ -1223,78 +1168,57 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__63"
+    // $ANTLR end "RULE_STRING"
 
-    // $ANTLR start "T__64"
-    public final void mT__64() throws RecognitionException {
+    // $ANTLR start "RULE_ML_COMMENT"
+    public final void mRULE_ML_COMMENT() throws RecognitionException {
         try {
-            int _type = T__64;
+            int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:64:7: ( 'variationPossibility' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:64:9: 'variationPossibility'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1854:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1854:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
-            match("variationPossibility"); 
+            match("/*"); 
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1854:24: ( options {greedy=false; } : . )*
+            loop7:
+            do {
+                int alt7=2;
+                int LA7_0 = input.LA(1);
 
-            }
+                if ( (LA7_0=='*') ) {
+                    int LA7_1 = input.LA(2);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__64"
+                    if ( (LA7_1=='/') ) {
+                        alt7=2;
+                    }
+                    else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+                        alt7=1;
+                    }
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:65:7: ( '.' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:65:9: '.'
-            {
-            match('.'); 
 
-            }
+                }
+                else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+                    alt7=1;
+                }
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:66:7: ( 'E' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:66:9: 'E'
-            {
-            match('E'); 
+                switch (alt7) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1854:52: .
+            	    {
+            	    matchAny(); 
 
-            }
+            	    }
+            	    break;
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__66"
+            	default :
+            	    break loop7;
+                }
+            } while (true);
+
+            match("*/"); 
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:67:7: ( 'e' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:67:9: 'e'
-            {
-            match('e'); 
 
             }
 
@@ -1304,101 +1228,86 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__67"
+    // $ANTLR end "RULE_ML_COMMENT"
 
-    // $ANTLR start "T__68"
-    public final void mT__68() throws RecognitionException {
+    // $ANTLR start "RULE_SL_COMMENT"
+    public final void mRULE_SL_COMMENT() throws RecognitionException {
         try {
-            int _type = T__68;
+            int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:68:7: ( 'PropertyRange' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:68:9: 'PropertyRange'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
-            match("PropertyRange"); 
+            match("//"); 
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856: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;
+                }
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:69:7: ( 'minValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:69:9: 'minValueConstraint'
-            {
-            match("minValueConstraint"); 
+                switch (alt8) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856: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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__69"
+            	    }
+            	    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:70:7: ( 'maxValueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:70:9: 'maxValueConstraint'
-            {
-            match("maxValueConstraint"); 
+            	default :
+            	    break loop8;
+                }
+            } while (true);
 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856:41: ( '\\r' )? '\\n'
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856:41: ( '\\r' )?
+                    int alt9=2;
+                    int LA9_0 = input.LA(1);
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__70"
+                    if ( (LA9_0=='\r') ) {
+                        alt9=1;
+                    }
+                    switch (alt9) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856:41: '\\r'
+                            {
+                            match('\r'); 
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:71:7: ( 'SetOfConfigurations' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:71:9: 'SetOfConfigurations'
-            {
-            match("SetOfConfigurations"); 
+                            }
+                            break;
 
+                    }
 
-            }
+                    match('\n'); 
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__71"
+                    }
+                    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:72:7: ( 'variants' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:72:9: 'variants'
-            {
-            match("variants"); 
+            }
 
 
             }
@@ -1409,290 +1318,53 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__72"
+    // $ANTLR end "RULE_SL_COMMENT"
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:73:7: ( 'valueConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:73:9: 'valueConstraint'
-            {
-            match("valueConstraint"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:74:7: ( 'OclConstraint' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:74:9: 'OclConstraint'
-            {
-            match("OclConstraint"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:75:7: ( 'oclString' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:75:9: 'oclString'
-            {
-            match("oclString"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:76:7: ( 'AdaptationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:76:9: 'AdaptationScope'
-            {
-            match("AdaptationScope"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:77:7: ( 'AdaptationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:77:9: 'AdaptationDirection'
-            {
-            match("AdaptationDirection"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:78:7: ( 'Objective' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:78:9: 'Objective'
-            {
-            match("Objective"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:79:7: ( 'specification' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:79:9: 'specification'
-            {
-            match("specification"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:80:7: ( 'Event' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:80:9: 'Event'
-            {
-            match("Event"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:81:7: ( 'WeightedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:81:9: 'WeightedTactic'
-            {
-            match("WeightedTactic"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:82:7: ( 'currentWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:82:9: 'currentWeight'
-            {
-            match("currentWeight"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:83:7: ( 'defaultWeight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:83:9: 'defaultWeight'
-            {
-            match("defaultWeight"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__83"
-
-    // $ANTLR start "T__84"
-    public final void mT__84() throws RecognitionException {
+    // $ANTLR start "RULE_WS"
+    public final void mRULE_WS() throws RecognitionException {
         try {
-            int _type = T__84;
+            int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:84:7: ( 'usedTactic' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:84:9: 'usedTactic'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1858:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1858:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            match("usedTactic"); 
-
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1858: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;
+                }
 
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:7: ( 'lastImpact' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:9: 'lastImpact'
-            {
-            match("lastImpact"); 
+                switch (alt11) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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;}
 
-            }
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__85"
+            	    }
+            	    break;
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:86:7: ( 'WeightingFunction' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:86:9: 'WeightingFunction'
-            {
-            match("WeightingFunction"); 
+            	default :
+            	    if ( cnt11 >= 1 ) break loop11;
+                        EarlyExitException eee =
+                            new EarlyExitException(11, input);
+                        throw eee;
+                }
+                cnt11++;
+            } while (true);
 
 
             }
@@ -1703,18 +1375,17 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         finally {
         }
     }
-    // $ANTLR end "T__86"
+    // $ANTLR end "RULE_WS"
 
-    // $ANTLR start "T__87"
-    public final void mT__87() throws RecognitionException {
+    // $ANTLR start "RULE_ANY_OTHER"
+    public final void mRULE_ANY_OTHER() throws RecognitionException {
         try {
-            int _type = T__87;
+            int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:87:7: ( 'weightedMetrics' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:87:9: 'weightedMetrics'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1860:16: ( . )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1860:18: .
             {
-            match("weightedMetrics"); 
-
+            matchAny(); 
 
             }
 
@@ -1724,1306 +1395,330 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
         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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:88:7: ( 'EDate' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:88:9: 'EDate'
-            {
-            match("EDate"); 
-
+    // $ANTLR end "RULE_ANY_OTHER"
 
-            }
+    public void mTokens() throws RecognitionException {
+        // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=46;
+        alt12 = dfa12.predict(input);
+        switch (alt12) {
+            case 1 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:10: T__11
+                {
+                mT__11(); 
 
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__88"
+                }
+                break;
+            case 2 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:16: T__12
+                {
+                mT__12(); 
 
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:89:7: ( 'MetricValue' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:89:9: 'MetricValue'
-            {
-            match("MetricValue"); 
+                }
+                break;
+            case 3 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:22: T__13
+                {
+                mT__13(); 
 
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:90:7: ( 'value' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:90:9: 'value'
-            {
-            match("value"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:91:7: ( 'measuredEntity' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:91:9: 'measuredEntity'
-            {
-            match("measuredEntity"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:92:7: ( 'metricType' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:92:9: 'metricType'
-            {
-            match("metricType"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:93:7: ( 'WeightedMetric' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:93:9: 'WeightedMetric'
-            {
-            match("WeightedMetric"); 
-
-
-            }
-
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:94:7: ( 'weight' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:94:9: 'weight'
-            {
-            match("weight"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__94"
-
-    // $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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3423:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3423:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3423: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3423: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3423: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3425:10: ( ( '0' .. '9' )+ )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3425:12: ( '0' .. '9' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3425: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3425: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
-                    {
-                    match('\"'); 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
-                    {
-                    match('\''); 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3427: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3429:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3429:19: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-            match("/*"); 
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3429: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3429: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
-            {
-            match("//"); 
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431:41: ( '\\r' )? '\\n'
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3431: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3433:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3433:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3433: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3435:16: ( . )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3435: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=91;
-        alt12 = dfa12.predict(input);
-        switch (alt12) {
-            case 1 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:10: T__11
-                {
-                mT__11(); 
-
-                }
-                break;
-            case 2 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:16: T__12
-                {
-                mT__12(); 
-
-                }
-                break;
-            case 3 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:22: T__13
-                {
-                mT__13(); 
-
-                }
-                break;
-            case 4 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:28: T__14
-                {
-                mT__14(); 
-
-                }
-                break;
-            case 5 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:34: T__15
-                {
-                mT__15(); 
-
-                }
-                break;
-            case 6 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:40: T__16
-                {
-                mT__16(); 
-
-                }
-                break;
-            case 7 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:46: T__17
-                {
-                mT__17(); 
-
-                }
-                break;
-            case 8 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:52: T__18
-                {
-                mT__18(); 
-
-                }
-                break;
-            case 9 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:58: T__19
-                {
-                mT__19(); 
-
-                }
-                break;
-            case 10 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:64: T__20
-                {
-                mT__20(); 
-
-                }
-                break;
-            case 11 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:70: T__21
-                {
-                mT__21(); 
-
-                }
-                break;
-            case 12 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:76: T__22
-                {
-                mT__22(); 
-
-                }
-                break;
-            case 13 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:82: T__23
-                {
-                mT__23(); 
-
-                }
-                break;
-            case 14 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:88: T__24
-                {
-                mT__24(); 
-
-                }
-                break;
-            case 15 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:94: T__25
-                {
-                mT__25(); 
-
-                }
-                break;
-            case 16 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:100: T__26
-                {
-                mT__26(); 
-
-                }
-                break;
-            case 17 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:106: T__27
-                {
-                mT__27(); 
-
-                }
-                break;
-            case 18 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:112: T__28
-                {
-                mT__28(); 
-
-                }
-                break;
-            case 19 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:118: T__29
-                {
-                mT__29(); 
-
-                }
-                break;
-            case 20 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:124: T__30
-                {
-                mT__30(); 
-
-                }
-                break;
-            case 21 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:130: T__31
-                {
-                mT__31(); 
-
-                }
-                break;
-            case 22 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:136: T__32
-                {
-                mT__32(); 
-
-                }
-                break;
-            case 23 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:142: T__33
-                {
-                mT__33(); 
-
-                }
-                break;
-            case 24 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:148: T__34
-                {
-                mT__34(); 
-
-                }
-                break;
-            case 25 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:154: T__35
-                {
-                mT__35(); 
-
-                }
-                break;
-            case 26 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:160: T__36
-                {
-                mT__36(); 
-
-                }
-                break;
-            case 27 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:166: T__37
-                {
-                mT__37(); 
-
-                }
-                break;
-            case 28 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:172: T__38
-                {
-                mT__38(); 
-
-                }
-                break;
-            case 29 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:178: T__39
-                {
-                mT__39(); 
-
-                }
-                break;
-            case 30 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:184: T__40
-                {
-                mT__40(); 
-
-                }
-                break;
-            case 31 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:190: T__41
-                {
-                mT__41(); 
-
-                }
-                break;
-            case 32 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:196: T__42
-                {
-                mT__42(); 
-
-                }
-                break;
-            case 33 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:202: T__43
-                {
-                mT__43(); 
-
-                }
-                break;
-            case 34 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:208: T__44
-                {
-                mT__44(); 
-
-                }
-                break;
-            case 35 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:214: T__45
-                {
-                mT__45(); 
-
-                }
-                break;
-            case 36 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:220: T__46
-                {
-                mT__46(); 
-
-                }
-                break;
-            case 37 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:226: T__47
-                {
-                mT__47(); 
-
-                }
-                break;
-            case 38 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:232: T__48
-                {
-                mT__48(); 
-
-                }
-                break;
-            case 39 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:238: T__49
-                {
-                mT__49(); 
-
-                }
-                break;
-            case 40 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:244: T__50
-                {
-                mT__50(); 
-
-                }
-                break;
-            case 41 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:250: T__51
-                {
-                mT__51(); 
-
-                }
-                break;
-            case 42 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:256: T__52
-                {
-                mT__52(); 
-
-                }
-                break;
-            case 43 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:262: T__53
-                {
-                mT__53(); 
-
-                }
-                break;
-            case 44 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:268: T__54
-                {
-                mT__54(); 
-
-                }
-                break;
-            case 45 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:274: T__55
-                {
-                mT__55(); 
-
-                }
-                break;
-            case 46 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:280: T__56
-                {
-                mT__56(); 
-
-                }
-                break;
-            case 47 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:286: T__57
-                {
-                mT__57(); 
-
-                }
-                break;
-            case 48 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:292: T__58
-                {
-                mT__58(); 
-
-                }
-                break;
-            case 49 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:298: T__59
-                {
-                mT__59(); 
+                }
+                break;
+            case 4 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:28: T__14
+                {
+                mT__14(); 
 
                 }
                 break;
-            case 50 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:304: T__60
+            case 5 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:34: T__15
                 {
-                mT__60(); 
+                mT__15(); 
 
                 }
                 break;
-            case 51 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:310: T__61
+            case 6 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:40: T__16
                 {
-                mT__61(); 
+                mT__16(); 
 
                 }
                 break;
-            case 52 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:316: T__62
+            case 7 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:46: T__17
                 {
-                mT__62(); 
+                mT__17(); 
 
                 }
                 break;
-            case 53 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:322: T__63
+            case 8 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:52: T__18
                 {
-                mT__63(); 
+                mT__18(); 
 
                 }
                 break;
-            case 54 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:328: T__64
+            case 9 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:58: T__19
                 {
-                mT__64(); 
+                mT__19(); 
 
                 }
                 break;
-            case 55 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:334: T__65
+            case 10 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:64: T__20
                 {
-                mT__65(); 
+                mT__20(); 
 
                 }
                 break;
-            case 56 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:340: T__66
+            case 11 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:70: T__21
                 {
-                mT__66(); 
+                mT__21(); 
 
                 }
                 break;
-            case 57 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:346: T__67
+            case 12 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:76: T__22
                 {
-                mT__67(); 
+                mT__22(); 
 
                 }
                 break;
-            case 58 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:352: T__68
+            case 13 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:82: T__23
                 {
-                mT__68(); 
+                mT__23(); 
 
                 }
                 break;
-            case 59 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:358: T__69
+            case 14 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:88: T__24
                 {
-                mT__69(); 
+                mT__24(); 
 
                 }
                 break;
-            case 60 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:364: T__70
+            case 15 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:94: T__25
                 {
-                mT__70(); 
+                mT__25(); 
 
                 }
                 break;
-            case 61 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:370: T__71
+            case 16 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:100: T__26
                 {
-                mT__71(); 
+                mT__26(); 
 
                 }
                 break;
-            case 62 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:376: T__72
+            case 17 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:106: T__27
                 {
-                mT__72(); 
+                mT__27(); 
 
                 }
                 break;
-            case 63 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:382: T__73
+            case 18 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:112: T__28
                 {
-                mT__73(); 
+                mT__28(); 
 
                 }
                 break;
-            case 64 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:388: T__74
+            case 19 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:118: T__29
                 {
-                mT__74(); 
+                mT__29(); 
 
                 }
                 break;
-            case 65 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:394: T__75
+            case 20 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:124: T__30
                 {
-                mT__75(); 
+                mT__30(); 
 
                 }
                 break;
-            case 66 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:400: T__76
+            case 21 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:130: T__31
                 {
-                mT__76(); 
+                mT__31(); 
 
                 }
                 break;
-            case 67 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:406: T__77
+            case 22 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:136: T__32
                 {
-                mT__77(); 
+                mT__32(); 
 
                 }
                 break;
-            case 68 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:412: T__78
+            case 23 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:142: T__33
                 {
-                mT__78(); 
+                mT__33(); 
 
                 }
                 break;
-            case 69 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:418: T__79
+            case 24 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:148: T__34
                 {
-                mT__79(); 
+                mT__34(); 
 
                 }
                 break;
-            case 70 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:424: T__80
+            case 25 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:154: T__35
                 {
-                mT__80(); 
+                mT__35(); 
 
                 }
                 break;
-            case 71 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:430: T__81
+            case 26 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:160: T__36
                 {
-                mT__81(); 
+                mT__36(); 
 
                 }
                 break;
-            case 72 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:436: T__82
+            case 27 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:166: T__37
                 {
-                mT__82(); 
+                mT__37(); 
 
                 }
                 break;
-            case 73 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:442: T__83
+            case 28 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:172: T__38
                 {
-                mT__83(); 
+                mT__38(); 
 
                 }
                 break;
-            case 74 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:448: T__84
+            case 29 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:178: T__39
                 {
-                mT__84(); 
+                mT__39(); 
 
                 }
                 break;
-            case 75 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:454: T__85
+            case 30 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:184: T__40
                 {
-                mT__85(); 
+                mT__40(); 
 
                 }
                 break;
-            case 76 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:460: T__86
+            case 31 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:190: T__41
                 {
-                mT__86(); 
+                mT__41(); 
 
                 }
                 break;
-            case 77 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:466: T__87
+            case 32 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:196: T__42
                 {
-                mT__87(); 
+                mT__42(); 
 
                 }
                 break;
-            case 78 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:472: T__88
+            case 33 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:202: T__43
                 {
-                mT__88(); 
+                mT__43(); 
 
                 }
                 break;
-            case 79 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:478: T__89
+            case 34 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:208: T__44
                 {
-                mT__89(); 
+                mT__44(); 
 
                 }
                 break;
-            case 80 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:484: T__90
+            case 35 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:214: T__45
                 {
-                mT__90(); 
+                mT__45(); 
 
                 }
                 break;
-            case 81 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:490: T__91
+            case 36 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:220: T__46
                 {
-                mT__91(); 
+                mT__46(); 
 
                 }
                 break;
-            case 82 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:496: T__92
+            case 37 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:226: T__47
                 {
-                mT__92(); 
+                mT__47(); 
 
                 }
                 break;
-            case 83 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:502: T__93
+            case 38 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:232: T__48
                 {
-                mT__93(); 
+                mT__48(); 
 
                 }
                 break;
-            case 84 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:508: T__94
+            case 39 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:238: T__49
                 {
-                mT__94(); 
+                mT__49(); 
 
                 }
                 break;
-            case 85 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:514: RULE_ID
+            case 40 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:244: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 86 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:522: RULE_INT
+            case 41 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:252: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 87 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:531: RULE_STRING
+            case 42 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:261: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 88 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:543: RULE_ML_COMMENT
+            case 43 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:273: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 89 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:559: RULE_SL_COMMENT
+            case 44 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:289: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 90 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:575: RULE_WS
+            case 45 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:305: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 91 :
-                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:583: RULE_ANY_OTHER
+            case 46 :
+                // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1:313: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -3037,322 +1732,248 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\1\56\1\uffff\2\56\2\uffff\6\56\2\uffff\13\56\1\uffff\3"+
-        "\56\1\uffff\1\137\1\140\3\56\1\53\2\uffff\3\53\2\uffff\2\56\2\uffff"+
-        "\4\56\2\uffff\13\56\2\uffff\22\56\1\uffff\6\56\1\uffff\2\56\2\uffff"+
-        "\3\56\5\uffff\67\56\1\u00d6\2\56\1\u00d9\10\56\1\u00e2\30\56\1\u00fb"+
-        "\20\56\1\uffff\2\56\1\uffff\3\56\1\u0111\4\56\1\uffff\30\56\1\uffff"+
-        "\10\56\1\u013a\1\u013b\1\u013c\4\56\1\u0142\5\56\1\uffff\4\56\1"+
-        "\u014d\13\56\1\u015b\27\56\3\uffff\5\56\1\uffff\1\u0179\1\56\1\u017b"+
-        "\7\56\1\uffff\15\56\1\uffff\10\56\1\u0198\1\56\1\u019a\22\56\1\uffff"+
-        "\1\56\1\uffff\15\56\1\u01bb\1\u01bc\15\56\1\uffff\1\56\1\uffff\5"+
-        "\56\1\u01d1\1\u01d3\3\56\1\u01d7\13\56\1\u01e4\6\56\1\u01ec\1\u01ed"+
-        "\1\56\2\uffff\5\56\1\u01f4\3\56\1\u01f8\3\56\1\u01fe\6\56\1\uffff"+
-        "\1\56\1\uffff\3\56\1\uffff\13\56\1\u0218\1\uffff\1\56\1\u021a\4"+
-        "\56\1\u021f\2\uffff\2\56\1\u0222\3\56\1\uffff\3\56\1\uffff\2\56"+
-        "\1\u022b\2\56\1\uffff\10\56\1\u0236\5\56\1\u023c\1\u023d\11\56\1"+
-        "\uffff\1\56\1\uffff\1\u0249\1\u024a\1\56\1\u024c\1\uffff\1\56\1"+
-        "\u024e\1\uffff\4\56\1\u0253\1\56\1\u0255\1\56\1\uffff\6\56\1\u025d"+
-        "\3\56\1\uffff\5\56\2\uffff\13\56\2\uffff\1\56\1\uffff\1\56\1\uffff"+
-        "\4\56\1\uffff\1\56\1\uffff\4\56\1\u027c\2\56\1\uffff\22\56\1\u0291"+
-        "\5\56\1\u0297\1\u0298\1\u0299\2\56\1\u029c\1\uffff\13\56\1\u02a8"+
-        "\10\56\1\uffff\5\56\3\uffff\2\56\1\uffff\4\56\1\u02bc\2\56\1\u02bf"+
-        "\1\u02c0\2\56\1\uffff\1\56\1\u02c4\1\56\1\u02c6\3\56\1\u02ca\1\u02cb"+
-        "\3\56\1\u02cf\6\56\1\uffff\1\56\1\u02d7\2\uffff\3\56\1\uffff\1\56"+
-        "\1\uffff\1\u02dc\2\56\2\uffff\3\56\1\uffff\7\56\1\uffff\1\56\1\u02ea"+
-        "\2\56\1\uffff\4\56\1\u02f1\7\56\1\u02f9\1\uffff\6\56\1\uffff\4\56"+
-        "\1\u0304\1\u0305\1\56\1\uffff\1\56\1\u0308\3\56\1\u030d\1\u030e"+
-        "\3\56\2\uffff\2\56\1\uffff\4\56\2\uffff\1\u0318\2\56\1\u031b\5\56"+
-        "\1\uffff\2\56\1\uffff\13\56\1\u032e\4\56\1\u0333\1\56\1\uffff\2"+
-        "\56\1\u0337\1\u0338\1\uffff\3\56\2\uffff\6\56\1\u0342\2\56\1\uffff"+
-        "\1\56\1\u0346\1\56\1\uffff\1\u0348\1\uffff";
+        "\1\uffff\1\46\1\uffff\2\46\2\uffff\3\46\1\uffff\5\46\1\uffff\4\46"+
+        "\2\uffff\1\101\1\102\3\46\1\43\2\uffff\3\43\2\uffff\2\46\2\uffff"+
+        "\3\46\2\uffff\4\46\1\uffff\10\46\1\uffff\4\46\4\uffff\3\46\5\uffff"+
+        "\16\46\1\164\15\46\1\u0082\14\46\1\uffff\15\46\1\uffff\7\46\1\u00a4"+
+        "\21\46\1\u00b7\6\46\1\u00be\1\uffff\1\46\1\u00c0\20\46\1\uffff\1"+
+        "\u00d1\1\46\1\u00d3\3\46\1\uffff\1\46\1\uffff\20\46\1\uffff\1\46"+
+        "\1\uffff\6\46\1\u00ef\22\46\1\u0103\1\46\1\uffff\10\46\1\u010d\6"+
+        "\46\1\u0114\1\u0115\1\46\1\u0117\1\uffff\2\46\1\u011a\3\46\1\u011e"+
+        "\2\46\1\uffff\1\u0121\5\46\2\uffff\1\46\1\uffff\1\46\1\u0129\1\uffff"+
+        "\2\46\1\u012c\1\uffff\2\46\1\uffff\7\46\1\uffff\2\46\1\uffff\1\u0138"+
+        "\12\46\1\uffff\1\u0143\11\46\1\uffff\2\46\1\u014f\2\46\1\u0152\5"+
+        "\46\1\uffff\1\46\1\u0159\1\uffff\3\46\1\u015d\2\46\1\uffff\2\46"+
+        "\1\u0162\1\uffff\4\46\1\uffff\3\46\1\u016a\3\46\1\uffff\6\46\1\u0174"+
+        "\1\46\1\u0176\1\uffff\1\46\1\uffff\1\u0178\1\uffff";
     static final String DFA12_eofS =
-        "\u0349\uffff";
+        "\u0179\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\1\141\1\142\1\145\3\157\1\162\1\uffff\1"+
-        "\145\2\141\1\uffff\2\60\1\145\1\163\1\141\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\151\1\162\1\157\1\145\1\154"+
-        "\1\152\1\146\1\157\1\156\1\162\1\144\1\141\1\uffff\1\144\1\164\1"+
-        "\156\1\170\1\141\1\154\1\uffff\1\145\1\141\2\uffff\1\151\1\145\1"+
-        "\163\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\1\141\1\162\1\160\1\117\1\147\1\141\1\160\1\162\1\103\1\145"+
-        "\1\143\1\141\1\160\1\156\1\144\1\162\1\171\1\156\1\145\1\162\2\126"+
-        "\1\163\1\162\1\151\1\165\1\156\1\164\1\147\1\144\2\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\2\164\1\101\1\146\1\150"+
-        "\1\155\1\145\1\141\1\157\1\143\1\162\1\165\1\101\1\164\1\151\2\145"+
-        "\1\60\1\143\1\154\1\151\2\141\1\165\1\151\1\141\1\145\1\164\1\145"+
-        "\1\150\1\124\1\111\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\145\1\101\1\143\1\103\1\164\1\145\1\162\1\154"+
-        "\1\156\1\164\1\151\1\154\1\143\1\145\1\164\1\170\1\156\1\uffff\1"+
-        "\150\1\105\1\143\2\154\1\162\1\143\1\156\3\60\1\164\1\141\1\155"+
-        "\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\147\1\143"+
-        "\1\164\1\157\1\60\2\164\1\154\1\163\1\151\1\160\2\164\1\162\1\151"+
-        "\2\164\1\101\1\141\1\156\1\126\2\165\1\145\1\124\1\151\1\164\1\157"+
-        "\3\uffff\1\145\1\143\1\160\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\171\1\164\1\151\2\156\1\144\1\uffff\1"+
-        "\145\1\171\1\107\1\164\1\166\1\164\1\127\1\151\1\60\1\157\1\60\1"+
-        "\127\1\143\1\162\1\164\1\141\2\145\1\144\1\171\1\157\1\163\1\156"+
-        "\1\144\1\156\1\164\1\141\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"+
-        "\2\60\1\151\1\157\1\146\1\147\1\115\1\162\1\122\1\157\1\162\1\145"+
-        "\1\151\1\145\1\157\1\uffff\1\156\1\uffff\1\145\1\164\2\151\1\154"+
-        "\2\60\1\105\1\160\1\156\1\60\1\163\1\115\1\147\1\151\1\143\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\2\uffff\1\157\1\156\1\151\1\106\1\145\1\60\3\141"+
-        "\1\60\1\157\1\151\1\156\1\60\2\151\1\141\1\164\1\165\1\157\1\uffff"+
-        "\1\157\1\uffff\1\156\1\145\1\120\1\uffff\1\164\1\141\1\145\1\106"+
-        "\1\143\1\164\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\156\1\60\1\147"+
-        "\1\165\1\164\1\uffff\1\156\1\154\1\151\1\uffff\1\156\1\147\1\60"+
-        "\1\162\1\141\1\uffff\1\147\1\157\1\142\1\171\1\145\2\156\1\164\1"+
-        "\60\1\157\1\162\1\143\1\164\1\165\2\60\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"+
-        "\1\160\1\60\1\uffff\1\165\1\156\1\162\1\147\1\60\1\156\1\60\1\150"+
-        "\1\uffff\1\165\1\154\1\150\1\156\1\154\1\103\1\60\2\163\1\151\1"+
-        "\uffff\1\163\1\141\1\164\1\162\1\156\2\uffff\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\uffff\1\162\1\143\1\151\1\145\1\uffff\1\164\1\uffff\1\164"+
-        "\1\145\1\163\1\164\1\60\1\145\1\157\1\uffff\3\164\1\163\3\151\2"+
-        "\143\1\156\1\151\1\160\1\145\1\143\1\156\1\151\1\162\1\164\1\60"+
-        "\3\141\1\164\1\143\3\60\1\102\1\145\1\60\1\uffff\1\103\1\156\2\162"+
-        "\1\171\1\151\1\156\2\143\1\164\1\145\1\60\1\157\1\145\1\143\1\145"+
-        "\1\164\1\157\1\141\1\171\1\uffff\1\156\2\164\1\151\1\163\3\uffff"+
-        "\1\162\1\102\1\uffff\1\157\1\146\2\141\1\60\1\142\1\164\2\60\1\151"+
-        "\1\163\1\uffff\1\156\1\60\1\164\1\60\1\163\1\156\1\164\2\60\2\151"+
-        "\1\157\1\60\1\141\1\162\1\156\3\151\1\uffff\1\151\1\60\2\uffff\1"+
-        "\157\1\163\1\117\1\uffff\1\151\1\uffff\1\60\1\117\1\151\2\uffff"+
-        "\2\157\1\156\1\uffff\1\156\1\141\1\146\1\147\2\156\1\154\1\uffff"+
-        "\1\156\1\60\1\160\1\157\1\uffff\1\160\1\157\2\156\1\60\1\143\1\156"+
-        "\1\151\1\165\2\164\1\151\1\60\1\uffff\1\145\1\156\1\145\1\156\1"+
-        "\120\1\163\1\uffff\1\150\1\143\1\147\1\162\2\60\1\164\1\uffff\1"+
-        "\162\1\60\1\162\1\104\1\157\2\60\1\150\1\165\1\141\2\uffff\1\171"+
-        "\1\141\1\uffff\1\141\1\143\2\151\2\uffff\1\60\1\162\1\164\1\60\2"+
-        "\164\1\157\1\162\1\156\1\uffff\1\141\1\151\1\uffff\2\151\1\160\1"+
-        "\145\2\164\3\157\1\145\1\143\1\60\1\151\3\156\1\60\1\164\1\uffff"+
-        "\1\157\1\122\2\60\1\uffff\1\151\1\156\1\141\2\uffff\1\157\1\122"+
-        "\2\156\1\141\1\147\1\60\1\156\1\145\1\uffff\1\147\1\60\1\145\1\uffff"+
-        "\1\60\1\uffff";
+        "\1\0\1\143\1\uffff\1\157\1\143\2\uffff\1\141\1\164\1\141\1\uffff"+
+        "\1\141\1\155\1\142\2\145\1\uffff\2\145\1\157\1\162\2\uffff\2\60"+
+        "\1\162\1\142\1\141\1\101\2\uffff\2\0\1\52\2\uffff\1\141\1\164\2"+
+        "\uffff\1\141\1\164\1\141\2\uffff\1\143\1\151\2\162\1\uffff\1\143"+
+        "\2\160\1\164\1\152\1\146\1\141\1\164\1\uffff\1\151\1\163\1\157\1"+
+        "\141\4\uffff\1\157\1\152\1\163\5\uffff\1\160\1\151\1\154\1\151\1"+
+        "\160\1\164\1\147\2\141\1\164\1\165\1\154\1\160\1\145\1\60\1\141"+
+        "\1\162\1\160\1\117\1\147\1\143\1\160\1\156\1\160\1\145\2\164\1\157"+
+        "\1\60\1\157\1\164\1\151\1\147\1\164\1\155\1\151\1\164\1\145\1\165"+
+        "\1\143\1\162\1\uffff\2\164\1\101\1\146\1\150\1\162\1\101\1\143\1"+
+        "\145\1\143\1\111\1\141\1\156\1\uffff\1\156\1\141\1\143\3\145\1\143"+
+        "\1\60\1\155\2\164\1\162\1\145\1\101\1\143\1\103\1\164\1\151\1\143"+
+        "\1\150\1\162\1\164\1\155\1\164\1\157\1\60\1\163\1\164\1\163\1\162"+
+        "\1\147\1\164\1\60\1\uffff\1\145\1\60\1\151\1\145\1\147\1\143\1\164"+
+        "\1\157\1\151\1\160\1\164\1\101\1\164\1\151\1\160\1\151\1\156\1\145"+
+        "\1\uffff\1\60\1\151\1\60\2\151\1\145\1\uffff\1\156\1\uffff\1\166"+
+        "\1\144\1\171\1\164\1\151\2\156\1\164\1\151\1\143\1\171\1\166\1\141"+
+        "\1\157\1\101\1\146\1\uffff\1\157\1\uffff\1\156\1\145\1\162\1\164"+
+        "\1\145\1\101\1\60\1\151\1\157\1\146\1\147\1\151\1\157\1\164\1\122"+
+        "\1\145\1\143\1\156\1\143\1\145\1\156\1\147\2\163\1\145\1\60\1\144"+
+        "\1\uffff\1\157\1\156\1\151\1\106\1\157\1\156\1\151\1\141\1\60\1"+
+        "\164\1\120\1\164\1\162\1\101\1\105\2\60\1\144\1\60\1\uffff\1\141"+
+        "\1\156\1\60\1\147\1\165\1\156\1\60\1\157\1\156\1\uffff\1\60\1\162"+
+        "\1\151\1\145\1\143\1\166\2\uffff\1\120\1\uffff\1\160\1\60\1\uffff"+
+        "\1\165\1\156\1\60\1\uffff\1\156\1\147\1\uffff\2\157\1\156\1\164"+
+        "\1\145\1\154\1\164\1\uffff\1\162\1\143\1\uffff\1\60\1\145\1\143"+
+        "\1\156\1\143\1\151\1\156\3\141\1\164\1\uffff\1\60\1\145\1\117\1"+
+        "\145\1\157\1\164\1\156\2\164\1\151\1\uffff\1\163\1\160\1\60\1\156"+
+        "\1\163\1\60\2\151\1\157\1\163\1\145\1\uffff\1\117\1\60\1\uffff\2"+
+        "\157\1\156\1\60\1\162\1\160\1\uffff\2\156\1\60\1\uffff\1\141\1\145"+
+        "\1\120\1\163\1\uffff\1\164\1\162\1\157\1\60\1\151\1\141\1\151\1"+
+        "\uffff\1\157\1\164\2\156\1\151\1\164\1\60\1\157\1\60\1\uffff\1\156"+
+        "\1\uffff\1\60\1\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\166\1\145\1"+
-        "\157\1\165\1\157\1\162\1\uffff\1\157\1\151\1\141\1\uffff\2\172\1"+
-        "\145\1\163\1\141\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\1\154\1"+
-        "\146\1\162\1\164\1\151\1\162\1\157\1\145\1\154\1\152\1\163\1\157"+
-        "\1\165\1\162\1\144\1\141\1\uffff\1\144\1\164\1\156\1\170\1\164\1"+
-        "\162\1\uffff\1\145\1\141\2\uffff\1\151\1\145\1\163\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\1\141\1\162"+
-        "\1\160\1\117\1\147\1\141\1\160\1\162\1\103\1\145\1\143\1\141\1\160"+
-        "\1\156\1\164\1\162\1\171\1\156\1\145\1\162\2\126\1\163\1\162\1\151"+
-        "\1\165\1\156\1\164\1\147\1\144\2\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\2\164\1\101\1\146\1\150\1\155\1\145\1\141"+
-        "\1\157\1\143\1\162\1\165\1\101\1\164\1\151\2\145\1\172\1\143\1\154"+
-        "\1\151\2\141\1\165\1\151\1\141\1\145\1\164\1\145\1\150\1\124\1\111"+
-        "\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\145\1\101\1\143\1\103\1\164\1\145\1\162\1\154\1\156\1\164"+
-        "\1\151\1\154\1\143\1\145\1\164\1\170\1\156\1\uffff\1\150\1\126\1"+
-        "\143\2\154\1\162\1\143\1\164\3\172\1\164\1\141\1\155\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\147\1\143\1\164\1\157"+
-        "\1\172\2\164\1\154\1\163\1\151\1\160\2\164\1\162\1\151\2\164\1\101"+
-        "\1\141\1\156\1\126\2\165\1\145\1\124\1\151\1\164\1\157\3\uffff\1"+
-        "\151\1\143\1\160\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\171\1\164\1\151\2\156\1\144\1\uffff\1\145\1\171"+
-        "\1\107\1\164\1\166\1\164\1\127\1\151\1\172\1\157\1\172\1\127\1\143"+
-        "\1\162\1\164\1\141\2\145\1\144\1\171\1\157\1\163\1\156\1\144\1\156"+
-        "\1\164\1\141\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\2\172\1\151"+
-        "\1\157\1\146\1\147\1\115\1\162\1\122\1\157\1\162\1\145\1\151\1\145"+
-        "\1\157\1\uffff\1\156\1\uffff\1\145\1\164\2\151\1\154\2\172\1\105"+
-        "\1\160\1\156\1\172\1\163\1\124\1\147\1\151\1\143\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\2\uffff\1\157\1\156\1\151\1\106\1\145\1\172\3\141\1\172\1"+
-        "\157\1\151\1\156\1\172\2\151\1\141\1\164\1\165\1\157\1\uffff\1\157"+
-        "\1\uffff\1\156\1\145\1\120\1\uffff\1\164\1\141\1\145\1\106\1\143"+
-        "\1\164\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\156\1\172\1\147\1\165"+
-        "\1\164\1\uffff\1\156\1\154\1\151\1\uffff\1\156\1\147\1\172\1\162"+
-        "\1\141\1\uffff\1\147\1\157\1\142\1\171\1\145\2\156\1\164\1\172\1"+
-        "\157\1\162\1\143\1\164\1\165\2\172\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"+
-        "\1\160\1\172\1\uffff\1\165\1\156\1\162\1\147\1\172\1\156\1\172\1"+
-        "\150\1\uffff\1\165\1\154\1\150\1\156\1\154\1\103\1\172\2\163\1\151"+
-        "\1\uffff\1\163\1\141\1\164\1\162\1\156\2\uffff\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\uffff\1\162\1\143\1\151\1\145\1\uffff\1\164\1\uffff"+
-        "\1\164\1\145\1\163\1\164\1\172\1\145\1\157\1\uffff\3\164\1\163\3"+
-        "\151\2\143\1\156\1\151\1\160\1\145\1\143\1\156\1\151\1\162\1\164"+
-        "\1\172\3\141\1\164\1\143\3\172\1\102\1\145\1\172\1\uffff\1\103\1"+
-        "\156\2\162\1\171\1\151\1\156\2\143\1\164\1\145\1\172\1\157\1\145"+
-        "\1\143\1\145\1\164\1\157\1\141\1\171\1\uffff\1\156\2\164\1\151\1"+
-        "\163\3\uffff\1\162\1\102\1\uffff\1\157\1\146\2\141\1\172\1\142\1"+
-        "\164\2\172\1\151\1\163\1\uffff\1\156\1\172\1\164\1\172\1\163\1\156"+
-        "\1\164\2\172\2\151\1\157\1\172\1\141\1\162\1\156\3\151\1\uffff\1"+
-        "\151\1\172\2\uffff\1\157\1\163\1\117\1\uffff\1\151\1\uffff\1\172"+
-        "\1\117\1\151\2\uffff\2\157\1\156\1\uffff\1\156\1\141\1\146\1\147"+
-        "\2\156\1\154\1\uffff\1\156\1\172\1\160\1\157\1\uffff\1\160\1\157"+
-        "\2\156\1\172\1\143\1\156\1\151\1\165\2\164\1\151\1\172\1\uffff\1"+
-        "\145\1\156\1\145\1\156\1\120\1\163\1\uffff\1\150\1\143\1\147\1\162"+
-        "\2\172\1\164\1\uffff\1\162\1\172\1\162\1\123\1\157\2\172\1\150\1"+
-        "\165\1\141\2\uffff\1\171\1\141\1\uffff\1\141\1\143\2\151\2\uffff"+
-        "\1\172\1\162\1\164\1\172\2\164\1\157\1\162\1\156\1\uffff\1\141\1"+
-        "\151\1\uffff\2\151\1\160\1\145\2\164\3\157\1\145\1\143\1\172\1\151"+
-        "\3\156\1\172\1\164\1\uffff\1\157\1\122\2\172\1\uffff\1\151\1\156"+
-        "\1\141\2\uffff\1\157\1\122\2\156\1\141\1\147\1\172\1\156\1\145\1"+
-        "\uffff\1\147\1\172\1\145\1\uffff\1\172\1\uffff";
+        "\1\uffff\1\144\1\uffff\1\157\1\144\2\uffff\1\162\1\164\1\141\1\uffff"+
+        "\1\141\1\156\1\165\1\145\1\164\1\uffff\2\145\1\157\1\162\2\uffff"+
+        "\2\172\1\162\1\142\1\141\1\172\2\uffff\2\uffff\1\57\2\uffff\1\141"+
+        "\1\164\2\uffff\1\141\1\164\1\141\2\uffff\1\143\1\151\2\162\1\uffff"+
+        "\1\143\2\160\1\164\1\152\1\146\1\162\1\164\1\uffff\1\151\1\163\1"+
+        "\157\1\141\4\uffff\1\157\1\152\1\163\5\uffff\1\160\1\151\1\154\1"+
+        "\151\1\160\1\164\1\147\2\141\1\164\1\165\1\154\1\160\1\145\1\172"+
+        "\1\141\1\162\1\160\1\117\1\147\1\143\1\160\1\156\1\160\1\145\2\164"+
+        "\1\157\1\172\1\157\1\164\1\151\1\147\1\164\1\155\1\151\1\164\1\145"+
+        "\1\165\1\143\1\162\1\uffff\2\164\1\101\1\146\1\150\1\162\1\101\1"+
+        "\143\1\145\1\143\1\111\1\151\1\156\1\uffff\1\156\1\141\1\143\3\145"+
+        "\1\143\1\172\1\155\2\164\1\162\1\145\1\101\1\143\1\103\1\164\1\151"+
+        "\1\143\1\150\1\162\1\164\1\155\1\164\1\157\1\172\1\163\1\164\1\163"+
+        "\1\162\1\147\1\164\1\172\1\uffff\1\145\1\172\1\151\1\145\1\147\1"+
+        "\143\1\164\1\157\1\151\1\160\1\164\1\101\1\164\1\151\1\160\1\151"+
+        "\1\156\1\145\1\uffff\1\172\1\151\1\172\2\151\1\145\1\uffff\1\156"+
+        "\1\uffff\1\166\1\144\1\171\1\164\1\151\2\156\1\164\1\151\1\143\1"+
+        "\171\1\166\1\141\1\157\1\101\1\146\1\uffff\1\157\1\uffff\1\156\1"+
+        "\145\1\162\1\164\1\145\1\101\1\172\1\151\1\157\1\146\1\147\1\151"+
+        "\1\157\1\164\1\122\1\145\1\143\1\156\1\143\1\145\1\156\1\147\2\163"+
+        "\1\145\1\172\1\144\1\uffff\1\157\1\156\1\151\1\106\1\157\1\156\1"+
+        "\151\1\141\1\172\1\164\1\120\1\164\1\162\1\101\1\105\2\172\1\144"+
+        "\1\172\1\uffff\1\141\1\156\1\172\1\147\1\165\1\156\1\172\1\157\1"+
+        "\156\1\uffff\1\172\1\162\1\151\1\145\1\143\1\166\2\uffff\1\120\1"+
+        "\uffff\1\160\1\172\1\uffff\1\165\1\156\1\172\1\uffff\1\156\1\147"+
+        "\1\uffff\2\157\1\156\1\164\1\145\1\154\1\164\1\uffff\1\162\1\143"+
+        "\1\uffff\1\172\1\145\1\143\1\156\1\143\1\151\1\156\3\141\1\164\1"+
+        "\uffff\1\172\1\145\1\117\1\145\1\157\1\164\1\156\2\164\1\151\1\uffff"+
+        "\1\163\1\160\1\172\1\156\1\163\1\172\2\151\1\157\1\163\1\145\1\uffff"+
+        "\1\117\1\172\1\uffff\2\157\1\156\1\172\1\162\1\160\1\uffff\2\156"+
+        "\1\172\1\uffff\1\141\1\145\1\120\1\163\1\uffff\1\164\1\162\1\157"+
+        "\1\172\1\151\1\141\1\151\1\uffff\1\157\1\164\2\156\1\151\1\164\1"+
+        "\172\1\157\1\172\1\uffff\1\156\1\uffff\1\172\1\uffff";
     static final String DFA12_acceptS =
-        "\2\uffff\1\2\2\uffff\1\5\1\6\6\uffff\1\15\1\16\13\uffff\1\55\3\uffff"+
-        "\1\67\6\uffff\1\125\1\126\3\uffff\1\132\1\133\2\uffff\1\125\1\2"+
-        "\4\uffff\1\5\1\6\13\uffff\1\15\1\16\22\uffff\1\55\6\uffff\1\67\2"+
-        "\uffff\1\70\1\71\3\uffff\1\126\1\127\1\130\1\131\1\132\155\uffff"+
-        "\1\3\2\uffff\1\31\10\uffff\1\12\30\uffff\1\45\25\uffff\1\36\50\uffff"+
-        "\1\120\1\106\1\116\5\uffff\1\21\12\uffff\1\13\15\uffff\1\124\35"+
-        "\uffff\1\4\1\uffff\1\7\34\uffff\1\44\1\uffff\1\50\40\uffff\1\54"+
-        "\1\24\24\uffff\1\62\1\uffff\1\63\3\uffff\1\76\14\uffff\1\41\7\uffff"+
-        "\1\25\1\101\6\uffff\1\30\3\uffff\1\104\5\uffff\1\47\31\uffff\1\10"+
-        "\1\uffff\1\11\4\uffff\1\34\2\uffff\1\42\10\uffff\1\43\12\uffff\1"+
-        "\122\5\uffff\1\112\1\113\13\uffff\1\40\1\14\1\uffff\1\17\1\uffff"+
-        "\1\37\4\uffff\1\32\1\uffff\1\33\7\uffff\1\117\36\uffff\1\46\24\uffff"+
-        "\1\105\5\uffff\1\72\1\100\1\111\2\uffff\1\110\13\uffff\1\35\23\uffff"+
-        "\1\121\2\uffff\1\107\1\123\3\uffff\1\102\1\uffff\1\53\3\uffff\1"+
-        "\64\1\20\3\uffff\1\115\7\uffff\1\77\4\uffff\1\26\15\uffff\1\1\6"+
-        "\uffff\1\27\7\uffff\1\114\12\uffff\1\73\1\74\2\uffff\1\103\4\uffff"+
-        "\1\75\1\51\11\uffff\1\52\2\uffff\1\66\22\uffff\1\22\4\uffff\1\57"+
-        "\3\uffff\1\56\1\23\11\uffff\1\60\3\uffff\1\65\1\uffff\1\61";
+        "\2\uffff\1\2\2\uffff\1\5\1\6\3\uffff\1\12\5\uffff\1\24\4\uffff\1"+
+        "\37\1\40\6\uffff\1\50\1\51\3\uffff\1\55\1\56\2\uffff\1\50\1\2\3"+
+        "\uffff\1\5\1\6\4\uffff\1\12\10\uffff\1\24\4\uffff\1\37\1\40\1\41"+
+        "\1\42\3\uffff\1\51\1\52\1\53\1\54\1\55\51\uffff\1\47\15\uffff\1"+
+        "\3\41\uffff\1\14\22\uffff\1\17\6\uffff\1\13\1\uffff\1\15\20\uffff"+
+        "\1\4\1\uffff\1\7\33\uffff\1\22\23\uffff\1\23\11\uffff\1\45\6\uffff"+
+        "\1\10\1\11\1\uffff\1\30\2\uffff\1\32\3\uffff\1\33\2\uffff\1\46\7"+
+        "\uffff\1\31\2\uffff\1\27\13\uffff\1\34\12\uffff\1\43\13\uffff\1"+
+        "\35\2\uffff\1\16\6\uffff\1\25\3\uffff\1\1\4\uffff\1\26\7\uffff\1"+
+        "\44\11\uffff\1\36\1\uffff\1\20\1\uffff\1\21";
     static final String DFA12_specialS =
-        "\1\2\46\uffff\1\0\1\1\u0320\uffff}>";
+        "\1\1\36\uffff\1\2\1\0\u0158\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\53\2\52\2\53\1\52\22\53\1\52\1\53\1\47\4\53\1\50\1\15\1"+
-            "\16\2\53\1\5\1\32\1\36\1\51\12\46\7\53\1\1\1\31\2\45\1\37\6"+
-            "\45\1\26\1\33\1\45\1\24\1\23\2\45\1\21\1\13\2\45\1\41\3\45\3"+
-            "\53\1\44\1\45\1\53\1\7\1\30\1\27\1\25\1\40\1\45\1\12\1\45\1"+
-            "\14\2\45\1\43\1\34\1\3\1\17\1\11\1\45\1\20\1\10\1\4\1\42\1\35"+
-            "\1\22\3\45\1\2\1\53\1\6\uff82\53",
-            "\1\55\1\54",
+            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\4\43\1"+
+            "\6\1\25\1\26\1\41\12\36\1\5\2\43\1\20\3\43\1\1\1\24\1\35\1\22"+
+            "\1\27\6\35\1\23\2\35\1\32\1\31\2\35\1\17\1\13\6\35\3\43\1\34"+
+            "\1\35\1\43\1\4\3\35\1\30\1\35\1\3\1\35\1\14\2\35\1\33\2\35\1"+
+            "\15\1\11\1\35\1\16\1\10\1\7\2\35\1\21\3\35\1\2\1\43\1\12\uff82"+
+            "\43",
+            "\1\45\1\44",
+            "",
+            "\1\50",
+            "\1\51\1\52",
+            "",
             "",
+            "\1\55\20\uffff\1\56",
+            "\1\57",
             "\1\60",
-            "\1\61\20\uffff\1\62\6\uffff\1\63",
             "",
+            "\1\62",
+            "\1\64\1\63",
+            "\1\66\22\uffff\1\65",
+            "\1\67",
+            "\1\71\16\uffff\1\70",
             "",
-            "\1\66\1\67",
-            "\1\72\3\uffff\1\70\1\71",
-            "\1\73\20\uffff\1\74",
+            "\1\73",
+            "\1\74",
             "\1\75",
             "\1\76",
-            "\1\100\1\77",
             "",
             "",
-            "\1\104\1\105\21\uffff\1\103",
-            "\1\106",
-            "\1\110\16\uffff\1\107",
-            "\1\111",
-            "\1\112\20\uffff\1\113",
-            "\1\116\1\115\22\uffff\1\114",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\1\103",
+            "\1\104",
+            "\1\105",
+            "\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "",
+            "\0\107",
+            "\0\107",
+            "\1\110\4\uffff\1\111",
+            "",
+            "",
+            "\1\113",
+            "\1\114",
+            "",
+            "",
+            "\1\115",
+            "\1\116",
             "\1\117",
+            "",
+            "",
             "\1\120",
-            "\1\121\5\uffff\1\122",
+            "\1\121",
+            "\1\122",
             "\1\123",
+            "",
             "\1\124",
+            "\1\125",
+            "\1\126",
+            "\1\127",
+            "\1\130",
+            "\1\131",
+            "\1\133\15\uffff\1\134\2\uffff\1\132",
+            "\1\135",
+            "",
+            "\1\136",
+            "\1\137",
+            "\1\140",
+            "\1\141",
+            "",
+            "",
             "",
-            "\1\127\11\uffff\1\126",
-            "\1\131\3\uffff\1\132\3\uffff\1\130",
-            "\1\133",
             "",
-            "\12\56\7\uffff\3\56\1\136\26\56\4\uffff\1\56\1\uffff\25\56"+
-            "\1\135\4\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\141",
             "\1\142",
             "\1\143",
-            "\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\144",
+            "",
             "",
             "",
-            "\0\145",
-            "\0\145",
-            "\1\146\4\uffff\1\147",
             "",
             "",
+            "\1\145",
+            "\1\146",
+            "\1\147",
+            "\1\150",
             "\1\151",
             "\1\152",
-            "",
-            "",
             "\1\153",
             "\1\154",
             "\1\155",
             "\1\156",
-            "",
-            "",
             "\1\157",
             "\1\160",
-            "\1\162\14\uffff\1\161",
-            "\1\163",
-            "\1\164",
+            "\1\161",
+            "\1\162",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\4\46\1\163\25\46",
             "\1\165",
             "\1\166",
             "\1\167",
             "\1\170",
             "\1\171",
             "\1\172",
-            "",
-            "",
             "\1\173",
             "\1\174",
             "\1\175",
             "\1\176",
-            "\1\u0080\15\uffff\1\u0081\2\uffff\1\177",
-            "\1\u0082",
+            "\1\177",
+            "\1\u0080",
+            "\1\u0081",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0083",
             "\1\u0084",
             "\1\u0085",
             "\1\u0086",
             "\1\u0087",
             "\1\u0088",
-            "\1\u008a\14\uffff\1\u0089",
+            "\1\u0089",
+            "\1\u008a",
             "\1\u008b",
-            "\1\u008d\6\uffff\1\u008c",
+            "\1\u008c",
+            "\1\u008d",
             "\1\u008e",
+            "",
             "\1\u008f",
             "\1\u0090",
-            "",
             "\1\u0091",
             "\1\u0092",
             "\1\u0093",
             "\1\u0094",
-            "\1\u0095\22\uffff\1\u0096",
-            "\1\u0098\5\uffff\1\u0097",
-            "",
+            "\1\u0095",
+            "\1\u0096",
+            "\1\u0097",
+            "\1\u0098",
             "\1\u0099",
-            "\1\u009a",
-            "",
-            "",
-            "\1\u009b",
+            "\1\u009a\7\uffff\1\u009b",
             "\1\u009c",
-            "\1\u009d",
-            "",
-            "",
-            "",
-            "",
             "",
+            "\1\u009d",
             "\1\u009e",
             "\1\u009f",
             "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
             "\1\u00a3",
-            "\1\u00a4",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00a5",
             "\1\u00a6",
             "\1\u00a7",
@@ -3370,19 +1991,21 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00b3",
             "\1\u00b4",
             "\1\u00b5",
-            "\1\u00b6",
-            "\1\u00b7",
+            "\12\46\7\uffff\21\46\1\u00b6\10\46\4\uffff\1\46\1\uffff\32"+
+            "\46",
             "\1\u00b8",
             "\1\u00b9",
             "\1\u00ba",
             "\1\u00bb",
             "\1\u00bc",
             "\1\u00bd",
-            "\1\u00be",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "\1\u00bf",
-            "\1\u00c0",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00c1",
-            "\1\u00c2\17\uffff\1\u00c3",
+            "\1\u00c2",
+            "\1\u00c3",
             "\1\u00c4",
             "\1\u00c5",
             "\1\u00c6",
@@ -3396,15 +2019,18 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00ce",
             "\1\u00cf",
             "\1\u00d0",
-            "\1\u00d1",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00d2",
-            "\1\u00d3",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00d4",
             "\1\u00d5",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00d6",
+            "",
             "\1\u00d7",
+            "",
             "\1\u00d8",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00d9",
             "\1\u00da",
             "\1\u00db",
             "\1\u00dc",
@@ -3413,20 +2039,22 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00df",
             "\1\u00e0",
             "\1\u00e1",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00e2",
             "\1\u00e3",
             "\1\u00e4",
             "\1\u00e5",
             "\1\u00e6",
             "\1\u00e7",
+            "",
             "\1\u00e8",
+            "",
             "\1\u00e9",
             "\1\u00ea",
             "\1\u00eb",
             "\1\u00ec",
             "\1\u00ed",
             "\1\u00ee",
-            "\1\u00ef",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u00f0",
             "\1\u00f1",
             "\1\u00f2",
@@ -3438,16 +2066,16 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u00f8",
             "\1\u00f9",
             "\1\u00fa",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
             "\1\u00fe",
             "\1\u00ff",
             "\1\u0100",
             "\1\u0101",
-            "\1\u0102",
-            "\1\u0103",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\22\46\1\u0102\7\46",
             "\1\u0104",
+            "",
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
@@ -3455,635 +2083,135 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             "\1\u0109",
             "\1\u010a",
             "\1\u010b",
-            "",
             "\1\u010c",
-            "\1\u010d",
-            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u010e",
             "\1\u010f",
             "\1\u0110",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u0111",
             "\1\u0112",
             "\1\u0113",
-            "\1\u0114",
-            "\1\u0115",
-            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0116",
-            "\1\u0117",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "\1\u0118",
             "\1\u0119",
-            "\1\u011a",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u011b",
-            "\1\u011c\1\u011d",
-            "\1\u011e",
+            "\1\u011c",
+            "\1\u011d",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u011f",
             "\1\u0120",
-            "\1\u0121",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0122",
             "\1\u0123",
             "\1\u0124",
             "\1\u0125",
             "\1\u0126",
+            "",
+            "",
             "\1\u0127",
+            "",
             "\1\u0128",
-            "\1\u0129",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "\1\u012a",
             "\1\u012b",
-            "\1\u012c",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "\1\u012d",
             "\1\u012e",
             "",
             "\1\u012f",
-            "\1\u0131\20\uffff\1\u0130",
+            "\1\u0130",
+            "\1\u0131",
             "\1\u0132",
             "\1\u0133",
             "\1\u0134",
             "\1\u0135",
+            "",
             "\1\u0136",
-            "\1\u0138\5\uffff\1\u0137",
-            "\12\56\7\uffff\2\56\1\u0139\27\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u0137",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\1\u0139",
+            "\1\u013a",
+            "\1\u013b",
+            "\1\u013c",
             "\1\u013d",
             "\1\u013e",
             "\1\u013f",
             "\1\u0140",
-            "\12\56\7\uffff\21\56\1\u0141\10\56\4\uffff\1\56\1\uffff\32"+
-            "\56",
-            "\1\u0143",
+            "\1\u0141",
+            "\1\u0142",
+            "",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0144",
             "\1\u0145",
-            "\1\u0147\21\uffff\1\u0146",
+            "\1\u0146",
+            "\1\u0147",
             "\1\u0148",
-            "",
             "\1\u0149",
             "\1\u014a",
             "\1\u014b",
             "\1\u014c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "",
+            "\1\u014d",
             "\1\u014e",
-            "\1\u014f",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0150",
             "\1\u0151",
-            "\1\u0152",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0153",
             "\1\u0154",
             "\1\u0155",
             "\1\u0156",
             "\1\u0157",
+            "",
             "\1\u0158",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\4\56\1\u015a\3\56"+
-            "\1\u0159\21\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
+            "\1\u015a",
+            "\1\u015b",
             "\1\u015c",
-            "\1\u015d",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u015e",
             "\1\u015f",
+            "",
             "\1\u0160",
             "\1\u0161",
-            "\1\u0162",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "",
             "\1\u0163",
             "\1\u0164",
             "\1\u0165",
             "\1\u0166",
+            "",
             "\1\u0167",
             "\1\u0168",
             "\1\u0169",
-            "\1\u016a",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u016b",
             "\1\u016c",
             "\1\u016d",
+            "",
             "\1\u016e",
             "\1\u016f",
             "\1\u0170",
             "\1\u0171",
             "\1\u0172",
-            "",
-            "",
-            "",
-            "\1\u0173\3\uffff\1\u0174",
+            "\1\u0173",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u0175",
-            "\1\u0176",
-            "\1\u0177",
-            "\1\u0178",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u017a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u018d",
-            "\1\u018e",
-            "\1\u018f",
-            "",
-            "\1\u0190",
-            "\1\u0191",
-            "\1\u0192",
-            "\1\u0193",
-            "\1\u0194",
-            "\1\u0195",
-            "\1\u0196",
-            "\1\u0197",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0199",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u01b8",
-            "\1\u01b9",
-            "\1\u01ba",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\12\56\7\uffff\2\56\1\u01d0\27\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\2\56\1\u01d2\27\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01d4",
-            "\1\u01d5",
-            "\1\u01d6",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01d8",
-            "\1\u01da\6\uffff\1\u01d9",
-            "\1\u01db",
-            "\1\u01dc",
-            "\1\u01dd",
-            "\1\u01de",
-            "\1\u01df",
-            "\1\u01e0",
-            "\1\u01e1",
-            "\1\u01e2",
-            "\1\u01e3",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\u01e7",
-            "\1\u01e8",
-            "\1\u01e9",
-            "\1\u01ea",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\22\56\1\u01eb\7\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01ee",
-            "",
-            "",
-            "\1\u01ef",
-            "\1\u01f0",
-            "\1\u01f1",
-            "\1\u01f2",
-            "\1\u01f3",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01f5",
-            "\1\u01f6",
-            "\1\u01f7",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\12\56\7\uffff\5\56\1\u01fd\15\56\1\u01fc\6\56\4\uffff\1\56"+
-            "\1\uffff\32\56",
-            "\1\u01ff",
-            "\1\u0200",
-            "\1\u0201",
-            "\1\u0202",
-            "\1\u0203",
-            "\1\u0204",
-            "",
-            "\1\u0205",
-            "",
-            "\1\u0206",
-            "\1\u0207",
-            "\1\u0208",
-            "",
-            "\1\u0209",
-            "\1\u020a",
-            "\1\u020b",
-            "\1\u020c",
-            "\1\u020d",
-            "\1\u020e",
-            "\1\u0210\2\uffff\1\u0212\13\uffff\1\u020f\2\uffff\1\u0211",
-            "\1\u0213",
-            "\1\u0214",
-            "\1\u0215\15\uffff\1\u0216",
-            "\1\u0217",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u0219",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u021b",
-            "\1\u021c",
-            "\1\u021d",
-            "\1\u021e",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "",
-            "\1\u0220",
-            "\1\u0221",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0223",
-            "\1\u0224",
-            "\1\u0225",
-            "",
-            "\1\u0226",
-            "\1\u0227",
-            "\1\u0228",
-            "",
-            "\1\u0229",
-            "\1\u022a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u022c",
-            "\1\u022d",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "",
-            "\1\u022e",
-            "\1\u022f",
-            "\1\u0230",
-            "\1\u0231",
-            "\1\u0232",
-            "\1\u0233",
-            "\1\u0234",
-            "\1\u0235",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0237",
-            "\1\u0238",
-            "\1\u0239",
-            "\1\u023a",
-            "\1\u023b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u023f\5\uffff\1\u023e",
-            "\1\u0240",
-            "\1\u0241",
-            "\1\u0242",
-            "\1\u0243",
-            "\1\u0244",
-            "\1\u0245",
-            "\1\u0246",
-            "\1\u0247",
-            "",
-            "\1\u0248",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u024b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u024d",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u024f",
-            "\1\u0250",
-            "\1\u0251",
-            "\1\u0252",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0254",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0256",
-            "",
-            "\1\u0257",
-            "\1\u0258",
-            "\1\u0259",
-            "\1\u025a",
-            "\1\u025b",
-            "\1\u025c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u025e",
-            "\1\u025f",
-            "\1\u0260",
-            "",
-            "\1\u0261",
-            "\1\u0262",
-            "\1\u0263",
-            "\1\u0264",
-            "\1\u0265",
-            "",
-            "",
-            "\1\u0266",
-            "\1\u0267",
-            "\1\u0268",
-            "\1\u0269",
-            "\1\u026a",
-            "\1\u026b",
-            "\1\u026c",
-            "\1\u026d",
-            "\1\u026e",
-            "\1\u026f",
-            "\1\u0270",
-            "",
-            "",
-            "\1\u0271",
-            "",
-            "\1\u0272",
-            "",
-            "\1\u0273",
-            "\1\u0274",
-            "\1\u0275",
-            "\1\u0276",
-            "",
-            "\1\u0277",
-            "",
-            "\1\u0278",
-            "\1\u0279",
-            "\1\u027a",
-            "\1\u027b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u027d",
-            "\1\u027e",
-            "",
-            "\1\u027f",
-            "\1\u0280",
-            "\1\u0281",
-            "\1\u0282",
-            "\1\u0283",
-            "\1\u0284",
-            "\1\u0285",
-            "\1\u0286",
-            "\1\u0287",
-            "\1\u0288",
-            "\1\u0289",
-            "\1\u028a",
-            "\1\u028b",
-            "\1\u028c",
-            "\1\u028d",
-            "\1\u028e",
-            "\1\u028f",
-            "\1\u0290",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0292",
-            "\1\u0293",
-            "\1\u0294",
-            "\1\u0295",
-            "\1\u0296",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u029a",
-            "\1\u029b",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u029d",
-            "\1\u029e",
-            "\1\u029f",
-            "\1\u02a0",
-            "\1\u02a1",
-            "\1\u02a2",
-            "\1\u02a3",
-            "\1\u02a4",
-            "\1\u02a5",
-            "\1\u02a6",
-            "\1\u02a7",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02a9",
-            "\1\u02aa",
-            "\1\u02ab",
-            "\1\u02ac",
-            "\1\u02ad",
-            "\1\u02ae",
-            "\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",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02bd",
-            "\1\u02be",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c1",
-            "\1\u02c2",
-            "",
-            "\1\u02c3",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c5",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02c7",
-            "\1\u02c8",
-            "\1\u02c9",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02cc",
-            "\1\u02cd",
-            "\1\u02ce",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02d0",
-            "\1\u02d1",
-            "\1\u02d2",
-            "\1\u02d3",
-            "\1\u02d4",
-            "\1\u02d5",
-            "",
-            "\1\u02d6",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "",
-            "\1\u02d8",
-            "\1\u02d9",
-            "\1\u02da",
-            "",
-            "\1\u02db",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02dd",
-            "\1\u02de",
-            "",
-            "",
-            "\1\u02df",
-            "\1\u02e0",
-            "\1\u02e1",
-            "",
-            "\1\u02e2",
-            "\1\u02e3",
-            "\1\u02e4",
-            "\1\u02e5",
-            "\1\u02e6",
-            "\1\u02e7",
-            "\1\u02e8",
-            "",
-            "\1\u02e9",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02eb",
-            "\1\u02ec",
-            "",
-            "\1\u02ed",
-            "\1\u02ee",
-            "\1\u02ef",
-            "\1\u02f0",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u02f2",
-            "\1\u02f3",
-            "\1\u02f4",
-            "\1\u02f5",
-            "\1\u02f6",
-            "\1\u02f7",
-            "\1\u02f8",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u02fa",
-            "\1\u02fb",
-            "\1\u02fc",
-            "\1\u02fd",
-            "\1\u02fe",
-            "\1\u02ff",
-            "",
-            "\1\u0300",
-            "\1\u0301",
-            "\1\u0302",
-            "\1\u0303",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0306",
-            "",
-            "\1\u0307",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0309",
-            "\1\u030b\16\uffff\1\u030a",
-            "\1\u030c",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u030f",
-            "\1\u0310",
-            "\1\u0311",
-            "",
-            "",
-            "\1\u0312",
-            "\1\u0313",
-            "",
-            "\1\u0314",
-            "\1\u0315",
-            "\1\u0316",
-            "\1\u0317",
-            "",
-            "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0319",
-            "\1\u031a",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\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",
-            "\1\u032a",
-            "\1\u032b",
-            "\1\u032c",
-            "\1\u032d",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u032f",
-            "\1\u0330",
-            "\1\u0331",
-            "\1\u0332",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0334",
-            "",
-            "\1\u0335",
-            "\1\u0336",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
-            "\1\u0339",
-            "\1\u033a",
-            "\1\u033b",
-            "",
-            "",
-            "\1\u033c",
-            "\1\u033d",
-            "\1\u033e",
-            "\1\u033f",
-            "\1\u0340",
-            "\1\u0341",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0343",
-            "\1\u0344",
-            "",
-            "\1\u0345",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u0347",
+            "\1\u0177",
             "",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             ""
     };
 
@@ -4117,33 +2245,23 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
             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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            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 | 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_39 = input.LA(1);
+                        int LA12_32 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_39>='\u0000' && LA12_39<='\uFFFF')) ) {s = 101;}
+                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 71;}
 
-                        else s = 43;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA12_40 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA12_40>='\u0000' && LA12_40<='\uFFFF')) ) {s = 101;}
-
-                        else s = 43;
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
                         int LA12_0 = input.LA(1);
 
                         s = -1;
@@ -4151,87 +2269,81 @@ public class InternalStaAdaptationLanguageLexer extends Lexer {
 
                         else if ( (LA12_0=='{') ) {s = 2;}
 
-                        else if ( (LA12_0=='n') ) {s = 3;}
+                        else if ( (LA12_0=='g') ) {s = 3;}
 
-                        else if ( (LA12_0=='t') ) {s = 4;}
+                        else if ( (LA12_0=='a') ) {s = 4;}
 
-                        else if ( (LA12_0==',') ) {s = 5;}
+                        else if ( (LA12_0==':') ) {s = 5;}
 
-                        else if ( (LA12_0=='}') ) {s = 6;}
+                        else if ( (LA12_0==',') ) {s = 6;}
 
-                        else if ( (LA12_0=='a') ) {s = 7;}
+                        else if ( (LA12_0=='t') ) {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=='}') ) {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 = 13;}
 
-                        else if ( (LA12_0=='o') ) {s = 15;}
+                        else if ( (LA12_0=='r') ) {s = 14;}
 
-                        else if ( (LA12_0=='r') ) {s = 16;}
+                        else if ( (LA12_0=='S') ) {s = 15;}
 
-                        else if ( (LA12_0=='S') ) {s = 17;}
+                        else if ( (LA12_0=='=') ) {s = 16;}
 
-                        else if ( (LA12_0=='w') ) {s = 18;}
+                        else if ( (LA12_0=='w') ) {s = 17;}
 
-                        else if ( (LA12_0=='P') ) {s = 19;}
+                        else if ( (LA12_0=='D') ) {s = 18;}
 
-                        else if ( (LA12_0=='O') ) {s = 20;}
+                        else if ( (LA12_0=='L') ) {s = 19;}
 
-                        else if ( (LA12_0=='d') ) {s = 21;}
+                        else if ( (LA12_0=='B') ) {s = 20;}
 
-                        else if ( (LA12_0=='L') ) {s = 22;}
+                        else if ( (LA12_0=='-') ) {s = 21;}
 
-                        else if ( (LA12_0=='c') ) {s = 23;}
+                        else if ( (LA12_0=='.') ) {s = 22;}
 
-                        else if ( (LA12_0=='b') ) {s = 24;}
+                        else if ( (LA12_0=='E') ) {s = 23;}
 
-                        else if ( (LA12_0=='B') ) {s = 25;}
+                        else if ( (LA12_0=='e') ) {s = 24;}
 
-                        else if ( (LA12_0=='-') ) {s = 26;}
+                        else if ( (LA12_0=='P') ) {s = 25;}
 
-                        else if ( (LA12_0=='M') ) {s = 27;}
+                        else if ( (LA12_0=='O') ) {s = 26;}
 
-                        else if ( (LA12_0=='m') ) {s = 28;}
+                        else if ( (LA12_0=='l') ) {s = 27;}
 
-                        else if ( (LA12_0=='v') ) {s = 29;}
+                        else if ( (LA12_0=='^') ) {s = 28;}
 
-                        else if ( (LA12_0=='.') ) {s = 30;}
+                        else if ( (LA12_0=='C'||(LA12_0>='F' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='N')||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='b' && LA12_0<='d')||LA12_0=='f'||LA12_0=='h'||(LA12_0>='j' && LA12_0<='k')||(LA12_0>='m' && LA12_0<='n')||LA12_0=='q'||(LA12_0>='u' && LA12_0<='v')||(LA12_0>='x' && LA12_0<='z')) ) {s = 29;}
 
-                        else if ( (LA12_0=='E') ) {s = 31;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
 
-                        else if ( (LA12_0=='e') ) {s = 32;}
+                        else if ( (LA12_0=='\"') ) {s = 31;}
 
-                        else if ( (LA12_0=='W') ) {s = 33;}
+                        else if ( (LA12_0=='\'') ) {s = 32;}
 
-                        else if ( (LA12_0=='u') ) {s = 34;}
+                        else if ( (LA12_0=='/') ) {s = 33;}
 
-                        else if ( (LA12_0=='l') ) {s = 35;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
 
-                        else if ( (LA12_0=='^') ) {s = 36;}
+                        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=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
 
-                        else if ( ((LA12_0>='C' && LA12_0<='D')||(LA12_0>='F' && LA12_0<='K')||LA12_0=='N'||(LA12_0>='Q' && LA12_0<='R')||(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 = 37;}
-
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 38;}
-
-                        else if ( (LA12_0=='\"') ) {s = 39;}
-
-                        else if ( (LA12_0=='\'') ) {s = 40;}
-
-                        else if ( (LA12_0=='/') ) {s = 41;}
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA12_31 = input.LA(1);
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 42;}
+                        s = -1;
+                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 71;}
 
-                        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 = 43;}
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageParser.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageParser.java
index 94a1b76642d3c6c555650e78a9f17b72f94ed6f3..f357077d97790b324df1dd27381b532165f7de66 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageParser.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguageParser.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
 @SuppressWarnings("all")
 public class InternalStaAdaptationLanguageParser 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'", "'OverallGoal'", "'description'", "'objectives'", "'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'", "'specification'", "'Event'", "'WeightedTactic'", "'currentWeight'", "'defaultWeight'", "'usedTactic'", "'lastImpact'", "'WeightingFunction'", "'weightedMetrics'", "'EDate'", "'MetricValue'", "'value'", "'measuredEntity'", "'metricType'", "'WeightedMetric'", "'weight'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'AdaptationProcess'", "'{'", "'goal'", "'actions'", "':'", "','", "'tactics'", "'strategies'", "'parameters'", "'}'", "'Tactic'", "'input'", "'output'", "'implementedPlan'", "'Action'", "'referredAdaptationPoint'", "'adaptationActionOperation'", "'Strategy'", "'objective'", "'='", "'triggeringEvents'", "'weightingFunction'", "'Description'", "'objectives'", "'StartAction'", "'StopAction'", "'LoopAction'", "'BranchAction'", "'ActionReference'", "'AdaptionActionOperation'", "'-'", "'.'", "'E'", "'e'", "'PropertyRange'", "'SetOfConfigurations'", "'Objective'", "'lastImpact'", "'ref'"
     };
     public static final int RULE_ID=5;
     public static final int T__29=29;
@@ -36,63 +36,16 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
     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__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;
@@ -104,9 +57,11 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
     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 RULE_ML_COMMENT=7;
     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 RULE_STRING=4;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
@@ -191,7 +146,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleAdaptationProcess"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 ) ) otherlv_31= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:76:1: ruleAdaptationProcess returns [EObject current=null] : (otherlv_0= 'AdaptationProcess' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'goal' ( (lv_goal_4_0= ruleOverallGoal ) ) otherlv_5= 'actions' otherlv_6= ':' ( (lv_actions_7_0= ruleAction ) ) (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )* otherlv_10= 'tactics' otherlv_11= ':' ( (lv_tactics_12_0= ruleTactic ) ) (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )* otherlv_15= 'strategies' otherlv_16= ':' ( (lv_strategies_17_0= ruleStrategy ) ) (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )* (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )? otherlv_25= '}' ) ;
     public final EObject ruleAdaptationProcess() throws RecognitionException {
         EObject current = null;
 
@@ -203,66 +158,59 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         Token otherlv_8=null;
         Token otherlv_10=null;
         Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
+        Token otherlv_13=null;
+        Token otherlv_15=null;
         Token otherlv_16=null;
-        Token otherlv_17=null;
         Token otherlv_18=null;
         Token otherlv_20=null;
-        Token otherlv_22=null;
+        Token otherlv_21=null;
         Token otherlv_23=null;
-        Token otherlv_24=null;
-        Token otherlv_26=null;
-        Token otherlv_28=null;
-        Token otherlv_29=null;
-        Token otherlv_31=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
+        Token otherlv_25=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
 
-        EObject lv_tactics_7_0 = null;
+        EObject lv_goal_4_0 = null;
 
-        EObject lv_tactics_9_0 = null;
+        EObject lv_actions_7_0 = null;
 
-        EObject lv_actions_13_0 = null;
+        EObject lv_actions_9_0 = null;
 
-        EObject lv_actions_15_0 = null;
+        EObject lv_tactics_12_0 = null;
 
-        EObject lv_strategies_19_0 = null;
+        EObject lv_tactics_14_0 = null;
 
-        EObject lv_strategies_21_0 = null;
+        EObject lv_strategies_17_0 = null;
 
-        EObject lv_parameters_25_0 = null;
+        EObject lv_strategies_19_0 = null;
 
-        EObject lv_parameters_27_0 = null;
+        EObject lv_parameters_22_0 = null;
 
-        EObject lv_goal_30_0 = null;
+        EObject lv_parameters_24_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 ) ) otherlv_31= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 ) ) otherlv_31= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:79:28: ( (otherlv_0= 'AdaptationProcess' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'goal' ( (lv_goal_4_0= ruleOverallGoal ) ) otherlv_5= 'actions' otherlv_6= ':' ( (lv_actions_7_0= ruleAction ) ) (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )* otherlv_10= 'tactics' otherlv_11= ':' ( (lv_tactics_12_0= ruleTactic ) ) (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )* otherlv_15= 'strategies' otherlv_16= ':' ( (lv_strategies_17_0= ruleStrategy ) ) (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )* (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )? otherlv_25= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:80:1: (otherlv_0= 'AdaptationProcess' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'goal' ( (lv_goal_4_0= ruleOverallGoal ) ) otherlv_5= 'actions' otherlv_6= ':' ( (lv_actions_7_0= ruleAction ) ) (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )* otherlv_10= 'tactics' otherlv_11= ':' ( (lv_tactics_12_0= ruleTactic ) ) (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )* otherlv_15= 'strategies' otherlv_16= ':' ( (lv_strategies_17_0= ruleStrategy ) ) (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )* (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )? otherlv_25= '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 ) ) otherlv_31= '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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 ) ) otherlv_31= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:80:1: (otherlv_0= 'AdaptationProcess' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'goal' ( (lv_goal_4_0= ruleOverallGoal ) ) otherlv_5= 'actions' otherlv_6= ':' ( (lv_actions_7_0= ruleAction ) ) (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )* otherlv_10= 'tactics' otherlv_11= ':' ( (lv_tactics_12_0= ruleTactic ) ) (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )* otherlv_15= 'strategies' otherlv_16= ':' ( (lv_strategies_17_0= ruleStrategy ) ) (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )* (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )? otherlv_25= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:80:3: otherlv_0= 'AdaptationProcess' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'goal' ( (lv_goal_4_0= ruleOverallGoal ) ) otherlv_5= 'actions' otherlv_6= ':' ( (lv_actions_7_0= ruleAction ) ) (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )* otherlv_10= 'tactics' otherlv_11= ':' ( (lv_tactics_12_0= ruleTactic ) ) (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )* otherlv_15= 'strategies' otherlv_16= ':' ( (lv_strategies_17_0= ruleStrategy ) ) (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )* (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )? otherlv_25= '}'
             {
             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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:84:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:84:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:86:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:85:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:86:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_1_0()); 
             	    
             pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationProcess143);
-            lv_id_1_0=ruleEString();
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
@@ -272,8 +220,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -289,19 +237,19 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                 
             otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAdaptationProcess167); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getNameKeyword_3());
+                	newLeafNode(otherlv_3, grammarAccess.getAdaptationProcessAccess().getGoalKeyword_3());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:110:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:111:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:110:1: ( (lv_goal_4_0= ruleOverallGoal ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:111:1: (lv_goal_4_0= ruleOverallGoal )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:111:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:112:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:111:1: (lv_goal_4_0= ruleOverallGoal )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:112:3: lv_goal_4_0= ruleOverallGoal
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getGoalOverallGoalParserRuleCall_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationProcess188);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_ruleAdaptationProcess188);
+            lv_goal_4_0=ruleOverallGoal();
 
             state._fsp--;
 
@@ -311,9 +259,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
+                   			"goal",
+                    		lv_goal_4_0, 
+                    		"OverallGoal");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -324,23 +272,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleAdaptationProcess200); 
 
-                	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_5());
+                	newLeafNode(otherlv_5, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_5());
                 
-            otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess212); 
+            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess212); 
 
-                	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_6());
+                	newLeafNode(otherlv_6, grammarAccess.getAdaptationProcessAccess().getColonKeyword_6());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:136:1: ( (lv_tactics_7_0= ruleTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:137:1: (lv_tactics_7_0= ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:136:1: ( (lv_actions_7_0= ruleAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:137:1: (lv_actions_7_0= ruleAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:137:1: (lv_tactics_7_0= ruleTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:138:3: lv_tactics_7_0= ruleTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:137:1: (lv_actions_7_0= ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:138:3: lv_actions_7_0= ruleAction
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_7_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_7_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess233);
-            lv_tactics_7_0=ruleTactic();
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess233);
+            lv_actions_7_0=ruleAction();
 
             state._fsp--;
 
@@ -350,9 +298,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		add(
                    			current, 
-                   			"tactics",
-                    		lv_tactics_7_0, 
-                    		"Tactic");
+                   			"actions",
+                    		lv_actions_7_0, 
+                    		"Action");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -361,36 +309,36 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:154:2: (otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) ) )*
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:154:2: (otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) ) )*
             loop1:
             do {
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( (LA1_0==15) ) {
+                if ( (LA1_0==16) ) {
                     alt1=1;
                 }
 
 
                 switch (alt1) {
             	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:154:4: otherlv_8= ',' ( (lv_tactics_9_0= ruleTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:154:4: otherlv_8= ',' ( (lv_actions_9_0= ruleAction ) )
             	    {
-            	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess246); 
+            	    otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess246); 
 
             	        	newLeafNode(otherlv_8, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_8_0());
             	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:158:1: ( (lv_tactics_9_0= ruleTactic ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:159:1: (lv_tactics_9_0= ruleTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:158:1: ( (lv_actions_9_0= ruleAction ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:159:1: (lv_actions_9_0= ruleAction )
             	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:159:1: (lv_tactics_9_0= ruleTactic )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:160:3: lv_tactics_9_0= ruleTactic
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:159:1: (lv_actions_9_0= ruleAction )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:160:3: lv_actions_9_0= ruleAction
             	    {
             	     
-            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_8_1_0()); 
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_8_1_0()); 
             	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess267);
-            	    lv_tactics_9_0=ruleTactic();
+            	    pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess267);
+            	    lv_actions_9_0=ruleAction();
 
             	    state._fsp--;
 
@@ -400,9 +348,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	    	        }
             	           		add(
             	           			current, 
-            	           			"tactics",
-            	            		lv_tactics_9_0, 
-            	            		"Tactic");
+            	           			"actions",
+            	            		lv_actions_9_0, 
+            	            		"Action");
             	    	        afterParserOrEnumRuleCall();
             	    	    
 
@@ -420,29 +368,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                 }
             } while (true);
 
-            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess281); 
+            otherlv_10=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleAdaptationProcess281); 
 
-                	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_9());
+                	newLeafNode(otherlv_10, grammarAccess.getAdaptationProcessAccess().getTacticsKeyword_9());
                 
-            otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleAdaptationProcess293); 
+            otherlv_11=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess293); 
 
-                	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getActionsKeyword_10());
+                	newLeafNode(otherlv_11, grammarAccess.getAdaptationProcessAccess().getColonKeyword_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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:188:1: ( (lv_actions_13_0= ruleAction ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:189:1: (lv_actions_13_0= ruleAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:184:1: ( (lv_tactics_12_0= ruleTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:185:1: (lv_tactics_12_0= ruleTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:189:1: (lv_actions_13_0= ruleAction )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:190:3: lv_actions_13_0= ruleAction
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:185:1: (lv_tactics_12_0= ruleTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:186:3: lv_tactics_12_0= ruleTactic
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_12_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_11_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess326);
-            lv_actions_13_0=ruleAction();
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess314);
+            lv_tactics_12_0=ruleTactic();
 
             state._fsp--;
 
@@ -452,9 +396,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		add(
                    			current, 
-                   			"actions",
-                    		lv_actions_13_0, 
-                    		"Action");
+                   			"tactics",
+                    		lv_tactics_12_0, 
+                    		"Tactic");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -463,36 +407,36 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:206:2: (otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) ) )*
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:202:2: (otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) ) )*
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( (LA2_0==15) ) {
+                if ( (LA2_0==16) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:206:4: otherlv_14= ',' ( (lv_actions_15_0= ruleAction ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:202:4: otherlv_13= ',' ( (lv_tactics_14_0= ruleTactic ) )
             	    {
-            	    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess339); 
+            	    otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess327); 
 
-            	        	newLeafNode(otherlv_14, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_13_0());
+            	        	newLeafNode(otherlv_13, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_12_0());
             	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:210:1: ( (lv_actions_15_0= ruleAction ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:211:1: (lv_actions_15_0= ruleAction )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:206:1: ( (lv_tactics_14_0= ruleTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:207:1: (lv_tactics_14_0= ruleTactic )
             	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:211:1: (lv_actions_15_0= ruleAction )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:212:3: lv_actions_15_0= ruleAction
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:207:1: (lv_tactics_14_0= ruleTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:208:3: lv_tactics_14_0= ruleTactic
             	    {
             	     
-            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getActionsActionParserRuleCall_13_1_0()); 
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getTacticsTacticParserRuleCall_12_1_0()); 
             	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleAdaptationProcess360);
-            	    lv_actions_15_0=ruleAction();
+            	    pushFollow(FollowSets000.FOLLOW_ruleTactic_in_ruleAdaptationProcess348);
+            	    lv_tactics_14_0=ruleTactic();
 
             	    state._fsp--;
 
@@ -502,9 +446,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	    	        }
             	           		add(
             	           			current, 
-            	           			"actions",
-            	            		lv_actions_15_0, 
-            	            		"Action");
+            	           			"tactics",
+            	            		lv_tactics_14_0, 
+            	            		"Tactic");
             	    	        afterParserOrEnumRuleCall();
             	    	    
 
@@ -522,29 +466,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                 }
             } 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); 
+            otherlv_15=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleAdaptationProcess362); 
 
-                	newLeafNode(otherlv_17, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_15());
+                	newLeafNode(otherlv_15, grammarAccess.getAdaptationProcessAccess().getStrategiesKeyword_13());
                 
-            otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess398); 
+            otherlv_16=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess374); 
 
-                	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_16());
+                	newLeafNode(otherlv_16, grammarAccess.getAdaptationProcessAccess().getColonKeyword_14());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:240:1: ( (lv_strategies_19_0= ruleStrategy ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:241:1: (lv_strategies_19_0= ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:232:1: ( (lv_strategies_17_0= ruleStrategy ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:233:1: (lv_strategies_17_0= ruleStrategy )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:241:1: (lv_strategies_19_0= ruleStrategy )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:242:3: lv_strategies_19_0= ruleStrategy
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:233:1: (lv_strategies_17_0= ruleStrategy )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:234:3: lv_strategies_17_0= ruleStrategy
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_17_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_15_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess419);
-            lv_strategies_19_0=ruleStrategy();
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess395);
+            lv_strategies_17_0=ruleStrategy();
 
             state._fsp--;
 
@@ -555,7 +495,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		add(
                    			current, 
                    			"strategies",
-                    		lv_strategies_19_0, 
+                    		lv_strategies_17_0, 
                     		"Strategy");
             	        afterParserOrEnumRuleCall();
             	    
@@ -565,36 +505,36 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:258:2: (otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) ) )*
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:250:2: (otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) ) )*
             loop3:
             do {
                 int alt3=2;
                 int LA3_0 = input.LA(1);
 
-                if ( (LA3_0==15) ) {
+                if ( (LA3_0==16) ) {
                     alt3=1;
                 }
 
 
                 switch (alt3) {
             	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:258:4: otherlv_20= ',' ( (lv_strategies_21_0= ruleStrategy ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:250:4: otherlv_18= ',' ( (lv_strategies_19_0= ruleStrategy ) )
             	    {
-            	    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess432); 
+            	    otherlv_18=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess408); 
 
-            	        	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_18_0());
+            	        	newLeafNode(otherlv_18, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_16_0());
             	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:262:1: ( (lv_strategies_21_0= ruleStrategy ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:263:1: (lv_strategies_21_0= ruleStrategy )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:254:1: ( (lv_strategies_19_0= ruleStrategy ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:255:1: (lv_strategies_19_0= ruleStrategy )
             	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:263:1: (lv_strategies_21_0= ruleStrategy )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:264:3: lv_strategies_21_0= ruleStrategy
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:255:1: (lv_strategies_19_0= ruleStrategy )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:256:3: lv_strategies_19_0= ruleStrategy
             	    {
             	     
-            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_18_1_0()); 
+            	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getStrategiesStrategyParserRuleCall_16_1_0()); 
             	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess453);
-            	    lv_strategies_21_0=ruleStrategy();
+            	    pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_ruleAdaptationProcess429);
+            	    lv_strategies_19_0=ruleStrategy();
 
             	    state._fsp--;
 
@@ -605,7 +545,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	           		add(
             	           			current, 
             	           			"strategies",
-            	            		lv_strategies_21_0, 
+            	            		lv_strategies_19_0, 
             	            		"Strategy");
             	    	        afterParserOrEnumRuleCall();
             	    	    
@@ -624,11 +564,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                 }
             } 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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:284:1: (otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}' )?
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:272:4: (otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )* )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -637,27 +573,27 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             }
             switch (alt5) {
                 case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:284:3: otherlv_23= 'parameters' otherlv_24= '{' ( (lv_parameters_25_0= ruleParameter ) ) (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )* otherlv_28= '}'
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:272:6: otherlv_20= 'parameters' otherlv_21= ':' ( (lv_parameters_22_0= ruleParameter ) ) (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )*
                     {
-                    otherlv_23=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleAdaptationProcess480); 
+                    otherlv_20=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleAdaptationProcess444); 
 
-                        	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_20_0());
+                        	newLeafNode(otherlv_20, grammarAccess.getAdaptationProcessAccess().getParametersKeyword_17_0());
                         
-                    otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationProcess492); 
+                    otherlv_21=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess456); 
 
-                        	newLeafNode(otherlv_24, grammarAccess.getAdaptationProcessAccess().getLeftCurlyBracketKeyword_20_1());
+                        	newLeafNode(otherlv_21, grammarAccess.getAdaptationProcessAccess().getColonKeyword_17_1());
                         
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:292:1: ( (lv_parameters_25_0= ruleParameter ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:293:1: (lv_parameters_25_0= ruleParameter )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:280:1: ( (lv_parameters_22_0= ruleParameter ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:281:1: (lv_parameters_22_0= ruleParameter )
                     {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:293:1: (lv_parameters_25_0= ruleParameter )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:294:3: lv_parameters_25_0= ruleParameter
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:281:1: (lv_parameters_22_0= ruleParameter )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:282:3: lv_parameters_22_0= ruleParameter
                     {
                      
-                    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_2_0()); 
+                    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess513);
-                    lv_parameters_25_0=ruleParameter();
+                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess477);
+                    lv_parameters_22_0=ruleParameter();
 
                     state._fsp--;
 
@@ -668,7 +604,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                            		add(
                            			current, 
                            			"parameters",
-                            		lv_parameters_25_0, 
+                            		lv_parameters_22_0, 
                             		"Parameter");
                     	        afterParserOrEnumRuleCall();
                     	    
@@ -678,36 +614,36 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
                     }
 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:310:2: (otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) ) )*
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:298:2: (otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) ) )*
                     loop4:
                     do {
                         int alt4=2;
                         int LA4_0 = input.LA(1);
 
-                        if ( (LA4_0==15) ) {
+                        if ( (LA4_0==16) ) {
                             alt4=1;
                         }
 
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:310:4: otherlv_26= ',' ( (lv_parameters_27_0= ruleParameter ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:298:4: otherlv_23= ',' ( (lv_parameters_24_0= ruleParameter ) )
                     	    {
-                    	    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationProcess526); 
+                    	    otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess490); 
 
-                    	        	newLeafNode(otherlv_26, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_20_3_0());
+                    	        	newLeafNode(otherlv_23, grammarAccess.getAdaptationProcessAccess().getCommaKeyword_17_3_0());
                     	        
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:314:1: ( (lv_parameters_27_0= ruleParameter ) )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:315:1: (lv_parameters_27_0= ruleParameter )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:302:1: ( (lv_parameters_24_0= ruleParameter ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:303:1: (lv_parameters_24_0= ruleParameter )
                     	    {
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:315:1: (lv_parameters_27_0= ruleParameter )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:316:3: lv_parameters_27_0= ruleParameter
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:303:1: (lv_parameters_24_0= ruleParameter )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:304:3: lv_parameters_24_0= ruleParameter
                     	    {
                     	     
-                    	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_20_3_1_0()); 
+                    	    	        newCompositeNode(grammarAccess.getAdaptationProcessAccess().getParametersParameterParserRuleCall_17_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess547);
-                    	    lv_parameters_27_0=ruleParameter();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleAdaptationProcess511);
+                    	    lv_parameters_24_0=ruleParameter();
 
                     	    state._fsp--;
 
@@ -718,7 +654,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	           		add(
                     	           			current, 
                     	           			"parameters",
-                    	            		lv_parameters_27_0, 
+                    	            		lv_parameters_24_0, 
                     	            		"Parameter");
                     	    	        afterParserOrEnumRuleCall();
                     	    	    
@@ -737,54 +673,15 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                         }
                     } 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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:340:1: ( (lv_goal_30_0= ruleOverallGoal ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:341:1: (lv_goal_30_0= ruleOverallGoal )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:341:1: (lv_goal_30_0= ruleOverallGoal )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.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();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_31=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationProcess608); 
+            otherlv_25=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleAdaptationProcess527); 
 
-                	newLeafNode(otherlv_31, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_23());
+                	newLeafNode(otherlv_25, grammarAccess.getAdaptationProcessAccess().getRightCurlyBracketKeyword_18());
                 
 
             }
@@ -807,7 +704,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleAbstractControlFlowElement"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:372:1: entryRuleAbstractControlFlowElement returns [EObject current=null] : iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:334:1: entryRuleAbstractControlFlowElement returns [EObject current=null] : iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF ;
     public final EObject entryRuleAbstractControlFlowElement() throws RecognitionException {
         EObject current = null;
 
@@ -815,17 +712,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:373:2: (iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:374:2: iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:335:2: (iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:336:2: iv_ruleAbstractControlFlowElement= ruleAbstractControlFlowElement EOF
             {
              newCompositeNode(grammarAccess.getAbstractControlFlowElementRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement646);
+            pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement565);
             iv_ruleAbstractControlFlowElement=ruleAbstractControlFlowElement();
 
             state._fsp--;
 
              current =iv_ruleAbstractControlFlowElement; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractControlFlowElement656); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractControlFlowElement575); 
 
             }
 
@@ -843,7 +740,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleAbstractControlFlowElement"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:381: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 ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:343: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;
 
@@ -861,33 +758,33 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:384: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:385: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:346: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:347: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:385: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:347:1: (this_StartAction_0= ruleStartAction | this_StopAction_1= ruleStopAction | this_LoopAction_2= ruleLoopAction | this_BranchAction_3= ruleBranchAction | this_ActionReference_4= ruleActionReference )
             int alt6=5;
             switch ( input.LA(1) ) {
-            case 41:
+            case 35:
                 {
                 alt6=1;
                 }
                 break;
-            case 44:
+            case 36:
                 {
                 alt6=2;
                 }
                 break;
-            case 45:
+            case 37:
                 {
                 alt6=3;
                 }
                 break;
-            case 48:
+            case 38:
                 {
                 alt6=4;
                 }
                 break;
-            case 53:
+            case 39:
                 {
                 alt6=5;
                 }
@@ -901,12 +798,12 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             switch (alt6) {
                 case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:386:5: this_StartAction_0= ruleStartAction
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:348:5: this_StartAction_0= ruleStartAction
                     {
                      
                             newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStartActionParserRuleCall_0()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement703);
+                    pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement622);
                     this_StartAction_0=ruleStartAction();
 
                     state._fsp--;
@@ -919,12 +816,12 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     }
                     break;
                 case 2 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:396:5: this_StopAction_1= ruleStopAction
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:358:5: this_StopAction_1= ruleStopAction
                     {
                      
                             newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getStopActionParserRuleCall_1()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement730);
+                    pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement649);
                     this_StopAction_1=ruleStopAction();
 
                     state._fsp--;
@@ -937,12 +834,12 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     }
                     break;
                 case 3 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:406:5: this_LoopAction_2= ruleLoopAction
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:368:5: this_LoopAction_2= ruleLoopAction
                     {
                      
                             newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getLoopActionParserRuleCall_2()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement757);
+                    pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement676);
                     this_LoopAction_2=ruleLoopAction();
 
                     state._fsp--;
@@ -955,12 +852,12 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     }
                     break;
                 case 4 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:416:5: this_BranchAction_3= ruleBranchAction
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:378:5: this_BranchAction_3= ruleBranchAction
                     {
                      
                             newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getBranchActionParserRuleCall_3()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement784);
+                    pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement703);
                     this_BranchAction_3=ruleBranchAction();
 
                     state._fsp--;
@@ -973,12 +870,12 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     }
                     break;
                 case 5 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:426:5: this_ActionReference_4= ruleActionReference
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:388:5: this_ActionReference_4= ruleActionReference
                     {
                      
                             newCompositeNode(grammarAccess.getAbstractControlFlowElementAccess().getActionReferenceParserRuleCall_4()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement811);
+                    pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement730);
                     this_ActionReference_4=ruleActionReference();
 
                     state._fsp--;
@@ -1010,133 +907,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
     // $ANTLR end "ruleAbstractControlFlowElement"
 
 
-    // $ANTLR start "entryRuleVariationType"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:442: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:443:2: (iv_ruleVariationType= ruleVariationType EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:444:2: iv_ruleVariationType= ruleVariationType EOF
-            {
-             newCompositeNode(grammarAccess.getVariationTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleVariationType_in_entryRuleVariationType846);
-            iv_ruleVariationType=ruleVariationType();
-
-            state._fsp--;
-
-             current =iv_ruleVariationType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariationType856); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:451: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:454:28: ( (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:455:1: (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:455:1: (this_PropertyRange_0= rulePropertyRange | this_SetOfConfigurations_1= ruleSetOfConfigurations )
-            int alt7=2;
-            int LA7_0 = input.LA(1);
-
-            if ( (LA7_0==68) ) {
-                alt7=1;
-            }
-            else if ( (LA7_0==71) ) {
-                alt7=2;
-            }
-            else {
-                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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:456:5: this_PropertyRange_0= rulePropertyRange
-                    {
-                     
-                            newCompositeNode(grammarAccess.getVariationTypeAccess().getPropertyRangeParserRuleCall_0()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_ruleVariationType903);
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:466:5: this_SetOfConfigurations_1= ruleSetOfConfigurations
-                    {
-                     
-                            newCompositeNode(grammarAccess.getVariationTypeAccess().getSetOfConfigurationsParserRuleCall_1()); 
-                        
-                    pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_ruleVariationType930);
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:482:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:406:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
     public final String entryRuleEString() throws RecognitionException {
         String current = null;
 
@@ -1144,17 +916,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:483:2: (iv_ruleEString= ruleEString EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:484:2: iv_ruleEString= ruleEString EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:407:2: (iv_ruleEString= ruleEString EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:408:2: iv_ruleEString= ruleEString EOF
             {
              newCompositeNode(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString966);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString768);
             iv_ruleEString=ruleEString();
 
             state._fsp--;
 
              current =iv_ruleEString.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString977); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString779); 
 
             }
 
@@ -1172,7 +944,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleEString"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:491:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:415: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();
 
@@ -1182,30 +954,30 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:494:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:495:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:418:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:419:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:495:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            int alt8=2;
-            int LA8_0 = input.LA(1);
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:419:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            int alt7=2;
+            int LA7_0 = input.LA(1);
 
-            if ( (LA8_0==RULE_STRING) ) {
-                alt8=1;
+            if ( (LA7_0==RULE_STRING) ) {
+                alt7=1;
             }
-            else if ( (LA8_0==RULE_ID) ) {
-                alt8=2;
+            else if ( (LA7_0==RULE_ID) ) {
+                alt7=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
+                    new NoViableAltException("", 7, 0, input);
 
                 throw nvae;
             }
-            switch (alt8) {
+            switch (alt7) {
                 case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:495:6: this_STRING_0= RULE_STRING
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:419:6: this_STRING_0= RULE_STRING
                     {
-                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1017); 
+                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString819); 
 
                     		current.merge(this_STRING_0);
                         
@@ -1216,9 +988,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     }
                     break;
                 case 2 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:503:10: this_ID_1= RULE_ID
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:427:10: this_ID_1= RULE_ID
                     {
-                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1043); 
+                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString845); 
 
                     		current.merge(this_ID_1);
                         
@@ -1249,7 +1021,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:518:1: entryRuleTactic returns [EObject current=null] : iv_ruleTactic= ruleTactic EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:442:1: entryRuleTactic returns [EObject current=null] : iv_ruleTactic= ruleTactic EOF ;
     public final EObject entryRuleTactic() throws RecognitionException {
         EObject current = null;
 
@@ -1257,17 +1029,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:519:2: (iv_ruleTactic= ruleTactic EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:520:2: iv_ruleTactic= ruleTactic EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:443:2: (iv_ruleTactic= ruleTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:444:2: iv_ruleTactic= ruleTactic EOF
             {
              newCompositeNode(grammarAccess.getTacticRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic1088);
+            pushFollow(FollowSets000.FOLLOW_ruleTactic_in_entryRuleTactic890);
             iv_ruleTactic=ruleTactic();
 
             state._fsp--;
 
              current =iv_ruleTactic; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic1098); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTactic900); 
 
             }
 
@@ -1285,51 +1057,49 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:527: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:451:1: ruleTactic returns [EObject current=null] : (otherlv_0= 'Tactic' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'implementedPlan' otherlv_12= ':' ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) ) otherlv_14= '}' ) ;
     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_4=null;
         Token otherlv_6=null;
         Token otherlv_8=null;
-        Token otherlv_10=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_name_4_0 = null;
+        Token otherlv_12=null;
+        Token otherlv_14=null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
 
-        EObject lv_implementedPlan_14_0 = null;
+        EObject lv_implementedPlan_13_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:530: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:531: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:454:28: ( (otherlv_0= 'Tactic' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'implementedPlan' otherlv_12= ':' ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) ) otherlv_14= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:455:1: (otherlv_0= 'Tactic' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'implementedPlan' otherlv_12= ':' ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) ) otherlv_14= '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:531: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:531: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:455:1: (otherlv_0= 'Tactic' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'implementedPlan' otherlv_12= ':' ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) ) otherlv_14= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:455:3: otherlv_0= 'Tactic' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'implementedPlan' otherlv_12= ':' ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) ) otherlv_14= '}'
             {
-            otherlv_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleTactic1135); 
+            otherlv_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleTactic937); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTacticAccess().getTacticKeyword_0());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:535:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:536:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:459:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:460:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:536:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:537:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:460:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:461:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1156);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic958);
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
@@ -1339,8 +1109,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -1350,69 +1120,34 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleTactic1168); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleTactic970); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getTacticAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleTactic1180); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getTacticAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:561:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:562:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:562:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:563:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getTacticAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1201);
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:481:1: (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:579:2: (otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
-
-            if ( (LA10_0==22) ) {
-                alt10=1;
+            if ( (LA9_0==22) ) {
+                alt9=1;
             }
-            switch (alt10) {
+            switch (alt9) {
                 case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:579:4: otherlv_5= 'inputParams' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')'
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:481:3: otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )*
                     {
-                    otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTactic1214); 
+                    otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleTactic983); 
 
-                        	newLeafNode(otherlv_5, grammarAccess.getTacticAccess().getInputParamsKeyword_5_0());
+                        	newLeafNode(otherlv_3, grammarAccess.getTacticAccess().getInputKeyword_3_0());
                         
-                    otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleTactic1226); 
+                    otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTactic995); 
 
-                        	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getLeftParenthesisKeyword_5_1());
+                        	newLeafNode(otherlv_4, grammarAccess.getTacticAccess().getColonKeyword_3_1());
                         
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:587:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:588:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:489:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:490:1: ( ruleEString )
                     {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:588:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:589:3: ruleEString
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:490:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:491:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -1420,9 +1155,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	        }
                             
                      
-                    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_2_0()); 
+                    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1249);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1018);
                     ruleEString();
 
                     state._fsp--;
@@ -1436,30 +1171,30 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
                     }
 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:602:2: (otherlv_8= ',' ( ( ruleEString ) ) )*
-                    loop9:
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:504:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    loop8:
                     do {
-                        int alt9=2;
-                        int LA9_0 = input.LA(1);
+                        int alt8=2;
+                        int LA8_0 = input.LA(1);
 
-                        if ( (LA9_0==15) ) {
-                            alt9=1;
+                        if ( (LA8_0==16) ) {
+                            alt8=1;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt8) {
                     	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:602:4: otherlv_8= ',' ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:504:4: otherlv_6= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTactic1262); 
+                    	    otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleTactic1031); 
 
-                    	        	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getCommaKeyword_5_3_0());
+                    	        	newLeafNode(otherlv_6, grammarAccess.getTacticAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:606:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:607:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:508:1: ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:509:1: ( ruleEString )
                     	    {
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:607:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:608:3: ruleEString
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:509:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:510:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -1467,9 +1202,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	    	        }
                     	            
                     	     
-                    	    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_5_3_1_0()); 
+                    	    	        newCompositeNode(grammarAccess.getTacticAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1285);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1054);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -1488,40 +1223,40 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop8;
                         }
                     } while (true);
 
-                    otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleTactic1299); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getTacticAccess().getRightParenthesisKeyword_5_4());
-                        
 
                     }
                     break;
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:625:3: (otherlv_11= 'outputParam' ( ( ruleEString ) ) )?
-            int alt11=2;
-            int LA11_0 = input.LA(1);
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:523:6: (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )?
+            int alt10=2;
+            int LA10_0 = input.LA(1);
 
-            if ( (LA11_0==25) ) {
-                alt11=1;
+            if ( (LA10_0==23) ) {
+                alt10=1;
             }
-            switch (alt11) {
+            switch (alt10) {
                 case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:625:5: otherlv_11= 'outputParam' ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:523:8: otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) )
                     {
-                    otherlv_11=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleTactic1314); 
+                    otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleTactic1071); 
+
+                        	newLeafNode(otherlv_8, grammarAccess.getTacticAccess().getOutputKeyword_4_0());
+                        
+                    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTactic1083); 
 
-                        	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getOutputParamKeyword_6_0());
+                        	newLeafNode(otherlv_9, grammarAccess.getTacticAccess().getColonKeyword_4_1());
                         
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:629:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:630:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:531:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:532:1: ( ruleEString )
                     {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:630:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:631:3: ruleEString
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:532:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:533:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -1529,9 +1264,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	        }
                             
                      
-                    	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_6_1_0()); 
+                    	        newCompositeNode(grammarAccess.getTacticAccess().getOutputParamParameterCrossReference_4_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1337);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleTactic1106);
                     ruleEString();
 
                     state._fsp--;
@@ -1551,21 +1286,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_13=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleTactic1351); 
+            otherlv_11=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleTactic1120); 
+
+                	newLeafNode(otherlv_11, grammarAccess.getTacticAccess().getImplementedPlanKeyword_5());
+                
+            otherlv_12=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleTactic1132); 
 
-                	newLeafNode(otherlv_13, grammarAccess.getTacticAccess().getImplementedPlanKeyword_7());
+                	newLeafNode(otherlv_12, grammarAccess.getTacticAccess().getColonKeyword_6());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:648:1: ( (lv_implementedPlan_14_0= ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:649:1: (lv_implementedPlan_14_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:554:1: ( (lv_implementedPlan_13_0= ruleAdaptationPlan ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:555:1: (lv_implementedPlan_13_0= ruleAdaptationPlan )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:649:1: (lv_implementedPlan_14_0= ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:650:3: lv_implementedPlan_14_0= ruleAdaptationPlan
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:555:1: (lv_implementedPlan_13_0= ruleAdaptationPlan )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:556:3: lv_implementedPlan_13_0= ruleAdaptationPlan
             {
              
-            	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_8_0()); 
+            	        newCompositeNode(grammarAccess.getTacticAccess().getImplementedPlanAdaptationPlanParserRuleCall_7_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleTactic1372);
-            lv_implementedPlan_14_0=ruleAdaptationPlan();
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleTactic1153);
+            lv_implementedPlan_13_0=ruleAdaptationPlan();
 
             state._fsp--;
 
@@ -1576,7 +1315,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		set(
                    			current, 
                    			"implementedPlan",
-                    		lv_implementedPlan_14_0, 
+                    		lv_implementedPlan_13_0, 
                     		"AdaptationPlan");
             	        afterParserOrEnumRuleCall();
             	    
@@ -1586,9 +1325,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_15=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleTactic1384); 
+            otherlv_14=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleTactic1165); 
 
-                	newLeafNode(otherlv_15, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_9());
+                	newLeafNode(otherlv_14, grammarAccess.getTacticAccess().getRightCurlyBracketKeyword_8());
                 
 
             }
@@ -1611,7 +1350,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:678:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:584:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ;
     public final EObject entryRuleAction() throws RecognitionException {
         EObject current = null;
 
@@ -1619,17 +1358,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:679:2: (iv_ruleAction= ruleAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:680:2: iv_ruleAction= ruleAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:585:2: (iv_ruleAction= ruleAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:586:2: iv_ruleAction= ruleAction EOF
             {
              newCompositeNode(grammarAccess.getActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction1420);
+            pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction1201);
             iv_ruleAction=ruleAction();
 
             state._fsp--;
 
              current =iv_ruleAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction1430); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction1211); 
 
             }
 
@@ -1647,24 +1386,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:687: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:593:1: ruleAction returns [EObject current=null] : (otherlv_0= 'Action' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'referredAdaptationPoint' otherlv_12= ':' ( ( ruleEString ) ) otherlv_14= 'adaptationActionOperation' otherlv_15= ':' ( (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_4=null;
+        Token otherlv_6=null;
         Token otherlv_8=null;
-        Token otherlv_10=null;
+        Token otherlv_9=null;
+        Token otherlv_11=null;
         Token otherlv_12=null;
-        Token otherlv_13=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;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
 
         EObject lv_adaptationActionOperation_16_0 = null;
 
@@ -1672,27 +1410,27 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:690: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:691: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:596:28: ( (otherlv_0= 'Action' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'referredAdaptationPoint' otherlv_12= ':' ( ( ruleEString ) ) otherlv_14= 'adaptationActionOperation' otherlv_15= ':' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:597:1: (otherlv_0= 'Action' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'referredAdaptationPoint' otherlv_12= ':' ( ( ruleEString ) ) otherlv_14= 'adaptationActionOperation' otherlv_15= ':' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:691: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:691: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:597:1: (otherlv_0= 'Action' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'referredAdaptationPoint' otherlv_12= ':' ( ( ruleEString ) ) otherlv_14= 'adaptationActionOperation' otherlv_15= ':' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:597:3: otherlv_0= 'Action' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )? (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )? otherlv_11= 'referredAdaptationPoint' otherlv_12= ':' ( ( ruleEString ) ) otherlv_14= 'adaptationActionOperation' otherlv_15= ':' ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) ) otherlv_17= '}'
             {
-            otherlv_0=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAction1467); 
+            otherlv_0=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleAction1248); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getActionAccess().getActionKeyword_0());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:695:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:696:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:601:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:602:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:696:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:697:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:602:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:603:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getActionAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getActionAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1488);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1269);
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
@@ -1702,8 +1440,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -1713,128 +1451,44 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAction1500); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAction1281); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getActionAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAction1512); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:623:1: (otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-                	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:721:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:722:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:722:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:723:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getActionAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1533);
-            lv_name_4_0=ruleEString();
+            if ( (LA12_0==22) ) {
+                alt12=1;
+            }
+            switch (alt12) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:623:3: otherlv_3= 'input' otherlv_4= ':' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    {
+                    otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleAction1294); 
 
-            state._fsp--;
+                        	newLeafNode(otherlv_3, grammarAccess.getActionAccess().getInputKeyword_3_0());
+                        
+                    otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1306); 
 
-
-            	        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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:739:2: (otherlv_5= '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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:739:4: otherlv_5= 'outputParam' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleAction1546); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getActionAccess().getOutputParamKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:743:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:744:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:744:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:745:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1569);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:758:4: (otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==22) ) {
-                alt14=1;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:758:6: otherlv_7= 'inputParams' otherlv_8= '(' ( ( ruleEString ) ) (otherlv_10= ',' ( ( ruleEString ) ) )* otherlv_12= ')'
-                    {
-                    otherlv_7=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleAction1584); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getActionAccess().getInputParamsKeyword_6_0());
-                        
-                    otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleAction1596); 
-
-                        	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getLeftParenthesisKeyword_6_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:766:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:767:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:767:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:768:3: ruleEString
-                    {
+                        	newLeafNode(otherlv_4, grammarAccess.getActionAccess().getColonKeyword_3_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:631:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:632:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:632:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:633:3: ruleEString
+                    {
 
                     			if (current==null) {
                     	            current = createModelElement(grammarAccess.getActionRule());
                     	        }
                             
                      
-                    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_2_0()); 
+                    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1619);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1329);
                     ruleEString();
 
                     state._fsp--;
@@ -1848,30 +1502,30 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
                     }
 
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:781:2: (otherlv_10= ',' ( ( ruleEString ) ) )*
-                    loop13:
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:646:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    loop11:
                     do {
-                        int alt13=2;
-                        int LA13_0 = input.LA(1);
+                        int alt11=2;
+                        int LA11_0 = input.LA(1);
 
-                        if ( (LA13_0==15) ) {
-                            alt13=1;
+                        if ( (LA11_0==16) ) {
+                            alt11=1;
                         }
 
 
-                        switch (alt13) {
+                        switch (alt11) {
                     	case 1 :
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:781:4: otherlv_10= ',' ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:646:4: otherlv_6= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1632); 
+                    	    otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAction1342); 
 
-                    	        	newLeafNode(otherlv_10, grammarAccess.getActionAccess().getCommaKeyword_6_3_0());
+                    	        	newLeafNode(otherlv_6, grammarAccess.getActionAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:785:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:786:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:650:1: ( ( ruleEString ) )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:651:1: ( ruleEString )
                     	    {
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:786:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:787:3: ruleEString
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:651:1: ( ruleEString )
+                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:652:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -1879,9 +1533,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	    	        }
                     	            
                     	     
-                    	    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_6_3_1_0()); 
+                    	    	        newCompositeNode(grammarAccess.getActionAccess().getInputParamsParameterCrossReference_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1655);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1365);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -1900,29 +1554,82 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                     	    break;
 
                     	default :
-                    	    break loop13;
+                    	    break loop11;
                         }
                     } while (true);
 
-                    otherlv_12=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleAction1669); 
 
-                        	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getRightParenthesisKeyword_6_4());
+                    }
+                    break;
+
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:665:6: (otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) ) )?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==23) ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:665:8: otherlv_8= 'output' otherlv_9= ':' ( ( ruleEString ) )
+                    {
+                    otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleAction1382); 
+
+                        	newLeafNode(otherlv_8, grammarAccess.getActionAccess().getOutputKeyword_4_0());
                         
+                    otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1394); 
+
+                        	newLeafNode(otherlv_9, grammarAccess.getActionAccess().getColonKeyword_4_1());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:673:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:674:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:674:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:675:3: ruleEString
+                    {
+
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getActionRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getActionAccess().getOutputParamParameterCrossReference_4_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1417);
+                    ruleEString();
+
+                    state._fsp--;
+
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
 
                     }
                     break;
 
             }
 
-            otherlv_13=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleAction1683); 
+            otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAction1431); 
 
-                	newLeafNode(otherlv_13, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_7());
+                	newLeafNode(otherlv_11, grammarAccess.getActionAccess().getReferredAdaptationPointKeyword_5());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:808:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:809:1: ( ruleEString )
+            otherlv_12=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1443); 
+
+                	newLeafNode(otherlv_12, grammarAccess.getActionAccess().getColonKeyword_6());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:696:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:697:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:809:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:810:3: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:697:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:698:3: ruleEString
             {
 
             			if (current==null) {
@@ -1930,9 +1637,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                     
              
-            	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_8_0()); 
+            	        newCompositeNode(grammarAccess.getActionAccess().getReferredAdaptationPointAdaptationPointCrossReference_7_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1706);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAction1466);
             ruleEString();
 
             state._fsp--;
@@ -1946,20 +1653,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_15=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleAction1718); 
+            otherlv_14=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAction1478); 
+
+                	newLeafNode(otherlv_14, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_8());
+                
+            otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAction1490); 
 
-                	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getAdaptationActionOperationKeyword_9());
+                	newLeafNode(otherlv_15, grammarAccess.getActionAccess().getColonKeyword_9());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:827:1: ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:828:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:719:1: ( (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:720:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:828:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:829:3: lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:720:1: (lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:721:3: lv_adaptationActionOperation_16_0= ruleAdaptationActionOperation
             {
              
             	        newCompositeNode(grammarAccess.getActionAccess().getAdaptationActionOperationAdaptationActionOperationParserRuleCall_10_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_ruleAction1739);
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_ruleAction1511);
             lv_adaptationActionOperation_16_0=ruleAdaptationActionOperation();
 
             state._fsp--;
@@ -1981,7 +1692,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAction1751); 
+            otherlv_17=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleAction1523); 
 
                 	newLeafNode(otherlv_17, grammarAccess.getActionAccess().getRightCurlyBracketKeyword_11());
                 
@@ -2006,7 +1717,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleStrategy"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:857:1: entryRuleStrategy returns [EObject current=null] : iv_ruleStrategy= ruleStrategy EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:749:1: entryRuleStrategy returns [EObject current=null] : iv_ruleStrategy= ruleStrategy EOF ;
     public final EObject entryRuleStrategy() throws RecognitionException {
         EObject current = null;
 
@@ -2014,17 +1725,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:858:2: (iv_ruleStrategy= ruleStrategy EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:859:2: iv_ruleStrategy= ruleStrategy EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:750:2: (iv_ruleStrategy= ruleStrategy EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:751:2: iv_ruleStrategy= ruleStrategy EOF
             {
              newCompositeNode(grammarAccess.getStrategyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy1787);
+            pushFollow(FollowSets000.FOLLOW_ruleStrategy_in_entryRuleStrategy1559);
             iv_ruleStrategy=ruleStrategy();
 
             state._fsp--;
 
              current =iv_ruleStrategy; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy1797); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStrategy1569); 
 
             }
 
@@ -2042,14 +1753,15 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleStrategy"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:866: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:758:1: ruleStrategy returns [EObject current=null] : (otherlv_0= 'Strategy' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'objective' otherlv_4= '=' ( ( ruleEString ) ) otherlv_6= 'triggeringEvents' otherlv_7= '=' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= ':' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= 'weightingFunction' otherlv_15= ':' ( (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_4=null;
+        Token otherlv_6=null;
         Token otherlv_7=null;
         Token otherlv_9=null;
         Token otherlv_10=null;
@@ -2057,9 +1769,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         Token otherlv_14=null;
         Token otherlv_15=null;
         Token otherlv_17=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
-
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
 
         EObject lv_triggeringEvents_8_0 = null;
 
@@ -2073,27 +1783,27 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:869: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:870: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:761:28: ( (otherlv_0= 'Strategy' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'objective' otherlv_4= '=' ( ( ruleEString ) ) otherlv_6= 'triggeringEvents' otherlv_7= '=' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= ':' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= 'weightingFunction' otherlv_15= ':' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:762:1: (otherlv_0= 'Strategy' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'objective' otherlv_4= '=' ( ( ruleEString ) ) otherlv_6= 'triggeringEvents' otherlv_7= '=' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= ':' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= 'weightingFunction' otherlv_15= ':' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:870: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:870: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:762:1: (otherlv_0= 'Strategy' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'objective' otherlv_4= '=' ( ( ruleEString ) ) otherlv_6= 'triggeringEvents' otherlv_7= '=' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= ':' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= 'weightingFunction' otherlv_15= ':' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:762:3: otherlv_0= 'Strategy' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'objective' otherlv_4= '=' ( ( ruleEString ) ) otherlv_6= 'triggeringEvents' otherlv_7= '=' ( (lv_triggeringEvents_8_0= ruleEvent ) ) otherlv_9= 'tactics' otherlv_10= ':' ( (lv_tactics_11_0= ruleWeightedTactic ) ) (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )* otherlv_14= 'weightingFunction' otherlv_15= ':' ( (lv_weightingFunction_16_0= ruleWeightingFunction ) ) otherlv_17= '}'
             {
-            otherlv_0=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStrategy1834); 
+            otherlv_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleStrategy1606); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getStrategyAccess().getStrategyKeyword_0());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:874:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:875:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:766:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:767:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:875:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:876:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:767:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:768:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getStrategyAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1855);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1627);
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
@@ -2103,8 +1813,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -2114,54 +1824,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStrategy1867); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStrategy1639); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleStrategy1879); 
+            otherlv_3=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleStrategy1651); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getNameKeyword_3());
+                	newLeafNode(otherlv_3, grammarAccess.getStrategyAccess().getObjectiveKeyword_3());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:900:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:901:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:901:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:902:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getStrategyAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1900);
-            lv_name_4_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getStrategyRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
+            otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStrategy1663); 
 
-            }
-
-            otherlv_5=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleStrategy1912); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getStrategyAccess().getObjectiveKeyword_5());
+                	newLeafNode(otherlv_4, grammarAccess.getStrategyAccess().getEqualsSignKeyword_4());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:922:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:923:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:796:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:797:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:923:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:924:3: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:797:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:798:3: ruleEString
             {
 
             			if (current==null) {
@@ -2169,9 +1848,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                     
              
-            	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_6_0()); 
+            	        newCompositeNode(grammarAccess.getStrategyAccess().getObjectiveObjectiveCrossReference_5_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1935);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStrategy1686);
             ruleEString();
 
             state._fsp--;
@@ -2185,20 +1864,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_7=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleStrategy1947); 
+            otherlv_6=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleStrategy1698); 
+
+                	newLeafNode(otherlv_6, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_6());
+                
+            otherlv_7=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStrategy1710); 
 
-                	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getTriggeringEventsKeyword_7());
+                	newLeafNode(otherlv_7, grammarAccess.getStrategyAccess().getEqualsSignKeyword_7());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:941:1: ( (lv_triggeringEvents_8_0= ruleEvent ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:942:1: (lv_triggeringEvents_8_0= ruleEvent )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:819:1: ( (lv_triggeringEvents_8_0= ruleEvent ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:820:1: (lv_triggeringEvents_8_0= ruleEvent )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:942:1: (lv_triggeringEvents_8_0= ruleEvent )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:943:3: lv_triggeringEvents_8_0= ruleEvent
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:820:1: (lv_triggeringEvents_8_0= ruleEvent )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:821:3: lv_triggeringEvents_8_0= ruleEvent
             {
              
             	        newCompositeNode(grammarAccess.getStrategyAccess().getTriggeringEventsEventParserRuleCall_8_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_ruleStrategy1968);
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_ruleStrategy1731);
             lv_triggeringEvents_8_0=ruleEvent();
 
             state._fsp--;
@@ -2220,24 +1903,24 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_9=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleStrategy1980); 
+            otherlv_9=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleStrategy1743); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getStrategyAccess().getTacticsKeyword_9());
                 
-            otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStrategy1992); 
+            otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleStrategy1755); 
 
-                	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getLeftCurlyBracketKeyword_10());
+                	newLeafNode(otherlv_10, grammarAccess.getStrategyAccess().getColonKeyword_10());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:967:1: ( (lv_tactics_11_0= ruleWeightedTactic ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:968:1: (lv_tactics_11_0= ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:845:1: ( (lv_tactics_11_0= ruleWeightedTactic ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:846:1: (lv_tactics_11_0= ruleWeightedTactic )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:968:1: (lv_tactics_11_0= ruleWeightedTactic )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:969:3: lv_tactics_11_0= ruleWeightedTactic
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:846:1: (lv_tactics_11_0= ruleWeightedTactic )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:847:3: lv_tactics_11_0= ruleWeightedTactic
             {
              
             	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_11_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy2013);
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy1776);
             lv_tactics_11_0=ruleWeightedTactic();
 
             state._fsp--;
@@ -2259,35 +1942,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:985:2: (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )*
-            loop15:
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:863:2: (otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) ) )*
+            loop14:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt14=2;
+                int LA14_0 = input.LA(1);
 
-                if ( (LA15_0==15) ) {
-                    alt15=1;
+                if ( (LA14_0==16) ) {
+                    alt14=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt14) {
             	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:985:4: otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:863:4: otherlv_12= ',' ( (lv_tactics_13_0= ruleWeightedTactic ) )
             	    {
-            	    otherlv_12=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleStrategy2026); 
+            	    otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStrategy1789); 
 
             	        	newLeafNode(otherlv_12, grammarAccess.getStrategyAccess().getCommaKeyword_12_0());
             	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:989:1: ( (lv_tactics_13_0= ruleWeightedTactic ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:990:1: (lv_tactics_13_0= ruleWeightedTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:867:1: ( (lv_tactics_13_0= ruleWeightedTactic ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:868:1: (lv_tactics_13_0= ruleWeightedTactic )
             	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:990:1: (lv_tactics_13_0= ruleWeightedTactic )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:991:3: lv_tactics_13_0= ruleWeightedTactic
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:868:1: (lv_tactics_13_0= ruleWeightedTactic )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:869:3: lv_tactics_13_0= ruleWeightedTactic
             	    {
             	     
             	    	        newCompositeNode(grammarAccess.getStrategyAccess().getTacticsWeightedTacticParserRuleCall_12_1_0()); 
             	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy2047);
+            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_ruleStrategy1810);
             	    lv_tactics_13_0=ruleWeightedTactic();
 
             	    state._fsp--;
@@ -2314,28 +1997,28 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	    break;
 
             	default :
-            	    break loop15;
+            	    break loop14;
                 }
             } while (true);
 
-            otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStrategy2061); 
+            otherlv_14=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleStrategy1824); 
 
-                	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_13());
+                	newLeafNode(otherlv_14, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_13());
                 
-            otherlv_15=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleStrategy2073); 
+            otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleStrategy1836); 
 
-                	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getWeightingFunctionKeyword_14());
+                	newLeafNode(otherlv_15, grammarAccess.getStrategyAccess().getColonKeyword_14());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1015:1: ( (lv_weightingFunction_16_0= ruleWeightingFunction ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1016:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:893:1: ( (lv_weightingFunction_16_0= ruleWeightingFunction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:894:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1016:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1017:3: lv_weightingFunction_16_0= ruleWeightingFunction
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:894:1: (lv_weightingFunction_16_0= ruleWeightingFunction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:895:3: lv_weightingFunction_16_0= ruleWeightingFunction
             {
              
             	        newCompositeNode(grammarAccess.getStrategyAccess().getWeightingFunctionWeightingFunctionParserRuleCall_15_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_ruleStrategy2094);
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_ruleStrategy1857);
             lv_weightingFunction_16_0=ruleWeightingFunction();
 
             state._fsp--;
@@ -2357,7 +2040,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStrategy2106); 
+            otherlv_17=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleStrategy1869); 
 
                 	newLeafNode(otherlv_17, grammarAccess.getStrategyAccess().getRightCurlyBracketKeyword_16());
                 
@@ -2382,7 +2065,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleParameter"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1045:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:923:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
     public final EObject entryRuleParameter() throws RecognitionException {
         EObject current = null;
 
@@ -2390,17 +2073,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1046:2: (iv_ruleParameter= ruleParameter EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1047:2: iv_ruleParameter= ruleParameter EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:924:2: (iv_ruleParameter= ruleParameter EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:925:2: iv_ruleParameter= ruleParameter EOF
             {
              newCompositeNode(grammarAccess.getParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter2142);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter1905);
             iv_ruleParameter=ruleParameter();
 
             state._fsp--;
 
              current =iv_ruleParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter2152); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter1915); 
 
             }
 
@@ -2418,43 +2101,35 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleParameter"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1054: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:932:1: ruleParameter returns [EObject current=null] : ( ( (lv_type_0_0= ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) ;
     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;
-        AntlrDatatypeRuleToken lv_name_1_0 = null;
+        AntlrDatatypeRuleToken lv_type_0_0 = null;
 
-        AntlrDatatypeRuleToken lv_type_4_0 = null;
+        AntlrDatatypeRuleToken lv_name_1_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1057:28: ( (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1058:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:935:28: ( ( ( (lv_type_0_0= ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:936:1: ( ( (lv_type_0_0= ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1058:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1058:3: otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'type' ( (lv_type_4_0= ruleEString ) ) otherlv_5= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:936:1: ( ( (lv_type_0_0= ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:936:2: ( (lv_type_0_0= ruleEString ) ) ( (lv_name_1_0= ruleEString ) )
             {
-            otherlv_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleParameter2189); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1062:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1063:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:936:2: ( (lv_type_0_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:937:1: (lv_type_0_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1063:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1064:3: lv_name_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:937:1: (lv_type_0_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:938:3: lv_type_0_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2210);
-            lv_name_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter1961);
+            lv_type_0_0=ruleEString();
 
             state._fsp--;
 
@@ -2464,8 +2139,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"name",
-                    		lv_name_1_0, 
+                   			"type",
+                    		lv_type_0_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -2475,25 +2150,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleParameter2222); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleParameter2234); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getTypeKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1088:1: ( (lv_type_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1089:1: (lv_type_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:954:2: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:955:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1089:1: (lv_type_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1090:3: lv_type_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:955:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:956:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getParameterAccess().getTypeEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2255);
-            lv_type_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter1982);
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
@@ -2503,8 +2170,8 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                    		set(
                    			current, 
-                   			"type",
-                    		lv_type_4_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -2514,10 +2181,6 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleParameter2267); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_5());
-                
 
             }
 
@@ -2539,7 +2202,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleOverallGoal"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1118:1: entryRuleOverallGoal returns [EObject current=null] : iv_ruleOverallGoal= ruleOverallGoal EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:980:1: entryRuleOverallGoal returns [EObject current=null] : iv_ruleOverallGoal= ruleOverallGoal EOF ;
     public final EObject entryRuleOverallGoal() throws RecognitionException {
         EObject current = null;
 
@@ -2547,17 +2210,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1119:2: (iv_ruleOverallGoal= ruleOverallGoal EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1120:2: iv_ruleOverallGoal= ruleOverallGoal EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:981:2: (iv_ruleOverallGoal= ruleOverallGoal EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:982:2: iv_ruleOverallGoal= ruleOverallGoal EOF
             {
              newCompositeNode(grammarAccess.getOverallGoalRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2303);
+            pushFollow(FollowSets000.FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2018);
             iv_ruleOverallGoal=ruleOverallGoal();
 
             state._fsp--;
 
              current =iv_ruleOverallGoal; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal2313); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOverallGoal2028); 
 
             }
 
@@ -2575,57 +2238,50 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleOverallGoal"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1127: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:989:1: ruleOverallGoal returns [EObject current=null] : (otherlv_0= 'Description' otherlv_1= ':' ( (lv_description_2_0= ruleEString ) ) otherlv_3= 'objectives' otherlv_4= ':' ( (lv_objectives_5_0= ruleObjective ) ) (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )* ) ;
     public final EObject ruleOverallGoal() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_0=null;
         Token otherlv_1=null;
-        Token otherlv_2=null;
+        Token otherlv_3=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;
+        Token otherlv_6=null;
+        AntlrDatatypeRuleToken lv_description_2_0 = null;
 
-        EObject lv_objectives_6_0 = null;
+        EObject lv_objectives_5_0 = null;
 
-        EObject lv_objectives_8_0 = null;
+        EObject lv_objectives_7_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1130: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1131: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:992:28: ( (otherlv_0= 'Description' otherlv_1= ':' ( (lv_description_2_0= ruleEString ) ) otherlv_3= 'objectives' otherlv_4= ':' ( (lv_objectives_5_0= ruleObjective ) ) (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )* ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:993:1: (otherlv_0= 'Description' otherlv_1= ':' ( (lv_description_2_0= ruleEString ) ) otherlv_3= 'objectives' otherlv_4= ':' ( (lv_objectives_5_0= ruleObjective ) ) (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )* )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1131: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1131: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:993:1: (otherlv_0= 'Description' otherlv_1= ':' ( (lv_description_2_0= ruleEString ) ) otherlv_3= 'objectives' otherlv_4= ':' ( (lv_objectives_5_0= ruleObjective ) ) (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )* )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:993:3: otherlv_0= 'Description' otherlv_1= ':' ( (lv_description_2_0= ruleEString ) ) otherlv_3= 'objectives' otherlv_4= ':' ( (lv_objectives_5_0= ruleObjective ) ) (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )*
             {
-            otherlv_0=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleOverallGoal2350); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getOverallGoalKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOverallGoal2362); 
+            otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleOverallGoal2065); 
 
-                	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_1());
+                	newLeafNode(otherlv_0, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_0());
                 
-            otherlv_2=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleOverallGoal2374); 
+            otherlv_1=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleOverallGoal2077); 
 
-                	newLeafNode(otherlv_2, grammarAccess.getOverallGoalAccess().getDescriptionKeyword_2());
+                	newLeafNode(otherlv_1, grammarAccess.getOverallGoalAccess().getColonKeyword_1());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1143:1: ( (lv_description_3_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1144:1: (lv_description_3_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1001:1: ( (lv_description_2_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1002:1: (lv_description_2_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1144:1: (lv_description_3_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1145:3: lv_description_3_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1002:1: (lv_description_2_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1003:3: lv_description_2_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_3_0()); 
+            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getDescriptionEStringParserRuleCall_2_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOverallGoal2395);
-            lv_description_3_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOverallGoal2098);
+            lv_description_2_0=ruleEString();
 
             state._fsp--;
 
@@ -2636,7 +2292,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		set(
                    			current, 
                    			"description",
-                    		lv_description_3_0, 
+                    		lv_description_2_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -2646,25 +2302,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_4=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleOverallGoal2407); 
+            otherlv_3=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleOverallGoal2110); 
 
-                	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_4());
+                	newLeafNode(otherlv_3, grammarAccess.getOverallGoalAccess().getObjectivesKeyword_3());
                 
-            otherlv_5=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOverallGoal2419); 
+            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleOverallGoal2122); 
 
-                	newLeafNode(otherlv_5, grammarAccess.getOverallGoalAccess().getLeftCurlyBracketKeyword_5());
+                	newLeafNode(otherlv_4, grammarAccess.getOverallGoalAccess().getColonKeyword_4());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1169:1: ( (lv_objectives_6_0= ruleObjective ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1170:1: (lv_objectives_6_0= ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1027:1: ( (lv_objectives_5_0= ruleObjective ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1028:1: (lv_objectives_5_0= ruleObjective )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1170:1: (lv_objectives_6_0= ruleObjective )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1171:3: lv_objectives_6_0= ruleObjective
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1028:1: (lv_objectives_5_0= ruleObjective )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1029:3: lv_objectives_5_0= ruleObjective
             {
              
-            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_0()); 
+            	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_5_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2440);
-            lv_objectives_6_0=ruleObjective();
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2143);
+            lv_objectives_5_0=ruleObjective();
 
             state._fsp--;
 
@@ -2675,7 +2331,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		add(
                    			current, 
                    			"objectives",
-                    		lv_objectives_6_0, 
+                    		lv_objectives_5_0, 
                     		"Objective");
             	        afterParserOrEnumRuleCall();
             	    
@@ -2685,36 +2341,36 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1187:2: (otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) ) )*
-            loop16:
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1045:2: (otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) ) )*
+            loop15:
             do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
+                int alt15=2;
+                int LA15_0 = input.LA(1);
 
-                if ( (LA16_0==15) ) {
-                    alt16=1;
+                if ( (LA15_0==16) ) {
+                    alt15=1;
                 }
 
 
-                switch (alt16) {
+                switch (alt15) {
             	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1187:4: otherlv_7= ',' ( (lv_objectives_8_0= ruleObjective ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1045:4: otherlv_6= ',' ( (lv_objectives_7_0= ruleObjective ) )
             	    {
-            	    otherlv_7=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleOverallGoal2453); 
+            	    otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOverallGoal2156); 
 
-            	        	newLeafNode(otherlv_7, grammarAccess.getOverallGoalAccess().getCommaKeyword_7_0());
+            	        	newLeafNode(otherlv_6, grammarAccess.getOverallGoalAccess().getCommaKeyword_6_0());
             	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1191:1: ( (lv_objectives_8_0= ruleObjective ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1192:1: (lv_objectives_8_0= ruleObjective )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1049:1: ( (lv_objectives_7_0= ruleObjective ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1050:1: (lv_objectives_7_0= ruleObjective )
             	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1192:1: (lv_objectives_8_0= ruleObjective )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1193:3: lv_objectives_8_0= ruleObjective
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1050:1: (lv_objectives_7_0= ruleObjective )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1051:3: lv_objectives_7_0= ruleObjective
             	    {
             	     
-            	    	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_7_1_0()); 
+            	    	        newCompositeNode(grammarAccess.getOverallGoalAccess().getObjectivesObjectiveParserRuleCall_6_1_0()); 
             	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2474);
-            	    lv_objectives_8_0=ruleObjective();
+            	    pushFollow(FollowSets000.FOLLOW_ruleObjective_in_ruleOverallGoal2177);
+            	    lv_objectives_7_0=ruleObjective();
 
             	    state._fsp--;
 
@@ -2725,7 +2381,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	           		add(
             	           			current, 
             	           			"objectives",
-            	            		lv_objectives_8_0, 
+            	            		lv_objectives_7_0, 
             	            		"Objective");
             	    	        afterParserOrEnumRuleCall();
             	    	    
@@ -2740,18 +2396,10 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	    break;
 
             	default :
-            	    break loop16;
+            	    break loop15;
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOverallGoal2488); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_8());
-                
-            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOverallGoal2500); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getOverallGoalAccess().getRightCurlyBracketKeyword_9());
-                
 
             }
 
@@ -2773,7 +2421,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleAdaptationPlan"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1225:1: entryRuleAdaptationPlan returns [EObject current=null] : iv_ruleAdaptationPlan= ruleAdaptationPlan EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1075:1: entryRuleAdaptationPlan returns [EObject current=null] : iv_ruleAdaptationPlan= ruleAdaptationPlan EOF ;
     public final EObject entryRuleAdaptationPlan() throws RecognitionException {
         EObject current = null;
 
@@ -2781,17 +2429,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1226:2: (iv_ruleAdaptationPlan= ruleAdaptationPlan EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1227:2: iv_ruleAdaptationPlan= ruleAdaptationPlan EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1076:2: (iv_ruleAdaptationPlan= ruleAdaptationPlan EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1077:2: iv_ruleAdaptationPlan= ruleAdaptationPlan EOF
             {
              newCompositeNode(grammarAccess.getAdaptationPlanRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2536);
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2215);
             iv_ruleAdaptationPlan=ruleAdaptationPlan();
 
             state._fsp--;
 
              current =iv_ruleAdaptationPlan; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan2546); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationPlan2225); 
 
             }
 
@@ -2809,51 +2457,39 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleAdaptationPlan"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1234: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1084:1: ruleAdaptationPlan returns [EObject current=null] : ( ( (lv_steps_0_0= ruleStartAction ) ) (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )* otherlv_3= ',' ( (lv_steps_4_0= ruleStopAction ) ) ) ;
     public final EObject ruleAdaptationPlan() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_0=null;
-        Token otherlv_2=null;
+        Token otherlv_1=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_0_0 = null;
 
-        EObject lv_steps_7_0 = null;
+        EObject lv_steps_2_0 = null;
 
-        EObject lv_steps_9_0 = null;
+        EObject lv_steps_4_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1237: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1238: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1087:28: ( ( ( (lv_steps_0_0= ruleStartAction ) ) (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )* otherlv_3= ',' ( (lv_steps_4_0= ruleStopAction ) ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1088:1: ( ( (lv_steps_0_0= ruleStartAction ) ) (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )* otherlv_3= ',' ( (lv_steps_4_0= ruleStopAction ) ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1238: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1238: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1088:1: ( ( (lv_steps_0_0= ruleStartAction ) ) (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )* otherlv_3= ',' ( (lv_steps_4_0= ruleStopAction ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1088:2: ( (lv_steps_0_0= ruleStartAction ) ) (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )* otherlv_3= ',' ( (lv_steps_4_0= ruleStopAction ) )
             {
-            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleAdaptationPlan2583); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getAdaptationPlanAccess().getAdaptationPlanKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1242:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1243:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1088:2: ( (lv_steps_0_0= ruleStartAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1089:1: (lv_steps_0_0= ruleStartAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1243:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1244:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1089:1: (lv_steps_0_0= ruleStartAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1090:3: lv_steps_0_0= ruleStartAction
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsStartActionParserRuleCall_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationPlan2604);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAdaptationPlan2271);
+            lv_steps_0_0=ruleStartAction();
 
             state._fsp--;
 
@@ -2861,11 +2497,11 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        if (current==null) {
             	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
             	        }
-                   		set(
+                   		add(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
+                   			"steps",
+                    		lv_steps_0_0, 
+                    		"StartAction");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -2874,25 +2510,95 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationPlan2616); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1106:2: (otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) ) )*
+            loop16:
+            do {
+                int alt16=2;
+                int LA16_0 = input.LA(1);
+
+                if ( (LA16_0==16) ) {
+                    int LA16_1 = input.LA(2);
 
-                	newLeafNode(otherlv_2, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAdaptationPlan2628); 
+                    if ( (LA16_1==36) ) {
+                        int LA16_2 = input.LA(3);
+
+                        if ( (LA16_2==16) ) {
+                            alt16=1;
+                        }
+
+
+                    }
+                    else if ( (LA16_1==35||(LA16_1>=37 && LA16_1<=39)) ) {
+                        alt16=1;
+                    }
+
+
+                }
+
+
+                switch (alt16) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1106:4: otherlv_1= ',' ( (lv_steps_2_0= ruleAbstractControlFlowElement ) )
+            	    {
+            	    otherlv_1=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2284); 
+
+            	        	newLeafNode(otherlv_1, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_1_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1110:1: ( (lv_steps_2_0= ruleAbstractControlFlowElement ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1111:1: (lv_steps_2_0= ruleAbstractControlFlowElement )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1111:1: (lv_steps_2_0= ruleAbstractControlFlowElement )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1112:3: lv_steps_2_0= ruleAbstractControlFlowElement
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_1_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2305);
+            	    lv_steps_2_0=ruleAbstractControlFlowElement();
+
+            	    state._fsp--;
+
+
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"steps",
+            	            		lv_steps_2_0, 
+            	            		"AbstractControlFlowElement");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
+
+            	    }
+
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop16;
+                }
+            } while (true);
+
+            otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2319); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getAdaptationPlanAccess().getNameKeyword_3());
+                	newLeafNode(otherlv_3, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_2());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1268:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1269:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1132:1: ( (lv_steps_4_0= ruleStopAction ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1133:1: (lv_steps_4_0= ruleStopAction )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1269:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1270:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1133:1: (lv_steps_4_0= ruleStopAction )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1134:3: lv_steps_4_0= ruleStopAction
             {
              
-            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsStopActionParserRuleCall_3_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAdaptationPlan2649);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAdaptationPlan2340);
+            lv_steps_4_0=ruleStopAction();
 
             state._fsp--;
 
@@ -2900,11 +2606,11 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        if (current==null) {
             	            current = createModelElementForParent(grammarAccess.getAdaptationPlanRule());
             	        }
-                   		set(
+                   		add(
                    			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
+                   			"steps",
+                    		lv_steps_4_0, 
+                    		"StopAction");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -2913,129 +2619,6 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1286:2: (otherlv_5= 'steps' otherlv_6= '{' ( (lv_steps_7_0= ruleAbstractControlFlowElement ) ) (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )* otherlv_10= '}' )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==40) ) {
-                alt18=1;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1286: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,40,FollowSets000.FOLLOW_40_in_ruleAdaptationPlan2662); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getAdaptationPlanAccess().getStepsKeyword_5_0());
-                        
-                    otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationPlan2674); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getAdaptationPlanAccess().getLeftCurlyBracketKeyword_5_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1294:1: ( (lv_steps_7_0= ruleAbstractControlFlowElement ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1295:1: (lv_steps_7_0= ruleAbstractControlFlowElement )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1295:1: (lv_steps_7_0= ruleAbstractControlFlowElement )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1296:3: lv_steps_7_0= ruleAbstractControlFlowElement
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2695);
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1312:2: (otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) ) )*
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1312:4: otherlv_8= ',' ( (lv_steps_9_0= ruleAbstractControlFlowElement ) )
-                    	    {
-                    	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAdaptationPlan2708); 
-
-                    	        	newLeafNode(otherlv_8, grammarAccess.getAdaptationPlanAccess().getCommaKeyword_5_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1316:1: ( (lv_steps_9_0= ruleAbstractControlFlowElement ) )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1317:1: (lv_steps_9_0= ruleAbstractControlFlowElement )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1317:1: (lv_steps_9_0= ruleAbstractControlFlowElement )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1318:3: lv_steps_9_0= ruleAbstractControlFlowElement
-                    	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getAdaptationPlanAccess().getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2729);
-                    	    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 loop17;
-                        }
-                    } while (true);
-
-                    otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2743); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_5_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAdaptationPlan2757); 
-
-                	newLeafNode(otherlv_11, grammarAccess.getAdaptationPlanAccess().getRightCurlyBracketKeyword_6());
-                
 
             }
 
@@ -3057,7 +2640,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "entryRuleStartAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1350:1: entryRuleStartAction returns [EObject current=null] : iv_ruleStartAction= ruleStartAction EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1158:1: entryRuleStartAction returns [EObject current=null] : iv_ruleStartAction= ruleStartAction EOF ;
     public final EObject entryRuleStartAction() throws RecognitionException {
         EObject current = null;
 
@@ -3065,17 +2648,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1351:2: (iv_ruleStartAction= ruleStartAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1352:2: iv_ruleStartAction= ruleStartAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1159:2: (iv_ruleStartAction= ruleStartAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1160:2: iv_ruleStartAction= ruleStartAction EOF
             {
              newCompositeNode(grammarAccess.getStartActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction2793);
+            pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction2376);
             iv_ruleStartAction=ruleStartAction();
 
             state._fsp--;
 
              current =iv_ruleStartAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction2803); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction2386); 
 
             }
 
@@ -3093,29 +2676,23 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleStartAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1359: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1167:1: ruleStartAction returns [EObject current=null] : ( () otherlv_1= 'StartAction' ) ;
     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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1362: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1363: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1170:28: ( ( () otherlv_1= 'StartAction' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1171:1: ( () otherlv_1= 'StartAction' )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1363: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1363: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1171:1: ( () otherlv_1= 'StartAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1171:2: () otherlv_1= 'StartAction'
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1363:2: ()
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1364:5: 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1171:2: ()
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1172:5: 
             {
 
                     current = forceCreateModelElement(
@@ -3125,150 +2702,153 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_1=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleStartAction2849); 
+            otherlv_1=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleStartAction2432); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1373:1: ( (lv_id_2_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1374:1: (lv_id_2_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1374:1: (lv_id_2_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1375:3: lv_id_2_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getStartActionAccess().getIdEStringParserRuleCall_2_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction2870);
-            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_ruleStartAction2882); 
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleStartAction"
 
-                	newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1395:1: (otherlv_4= 'predecessor' ( ( ruleEString ) ) )?
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1395:3: otherlv_4= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleStartAction2895); 
+    // $ANTLR start "entryRuleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1189:1: entryRuleStopAction returns [EObject current=null] : iv_ruleStopAction= ruleStopAction EOF ;
+    public final EObject entryRuleStopAction() throws RecognitionException {
+        EObject current = null;
 
-                        	newLeafNode(otherlv_4, grammarAccess.getStartActionAccess().getPredecessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1399:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1400:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1400:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1401:3: ruleEString
-                    {
+        EObject iv_ruleStopAction = null;
 
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStartActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction2918);
-                    ruleEString();
 
-                    state._fsp--;
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1190:2: (iv_ruleStopAction= ruleStopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1191:2: iv_ruleStopAction= ruleStopAction EOF
+            {
+             newCompositeNode(grammarAccess.getStopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction2468);
+            iv_ruleStopAction=ruleStopAction();
 
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
+            state._fsp--;
 
-                    }
+             current =iv_ruleStopAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction2478); 
 
+            }
 
-                    }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleStopAction"
 
 
-                    }
-                    break;
+    // $ANTLR start "ruleStopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1198:1: ruleStopAction returns [EObject current=null] : otherlv_0= 'StopAction' ;
+    public final EObject ruleStopAction() throws RecognitionException {
+        EObject current = null;
 
-            }
+        Token otherlv_0=null;
 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1414:4: (otherlv_6= 'successor' ( ( ruleEString ) ) )?
-            int alt20=2;
-            int LA20_0 = input.LA(1);
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1201:28: (otherlv_0= 'StopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1202:2: otherlv_0= 'StopAction'
+            {
+            otherlv_0=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleStopAction2514); 
 
-            if ( (LA20_0==43) ) {
-                alt20=1;
-            }
-            switch (alt20) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1414:6: otherlv_6= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_6=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleStartAction2933); 
+                	newLeafNode(otherlv_0, grammarAccess.getStopActionAccess().getStopActionKeyword());
+                
 
-                        	newLeafNode(otherlv_6, grammarAccess.getStartActionAccess().getSuccessorKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1418:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1419:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1419:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1420:3: ruleEString
-                    {
+            }
 
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStartActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction2956);
-                    ruleEString();
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleStopAction"
 
-                    state._fsp--;
 
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
+    // $ANTLR start "entryRuleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1214: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1215:2: (iv_ruleLoopAction= ruleLoopAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1216:2: iv_ruleLoopAction= ruleLoopAction EOF
+            {
+             newCompositeNode(grammarAccess.getLoopActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction2549);
+            iv_ruleLoopAction=ruleLoopAction();
 
+            state._fsp--;
 
-                    }
-                    break;
+             current =iv_ruleLoopAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction2559); 
 
             }
 
-            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStartAction2970); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleLoopAction"
+
 
-                	newLeafNode(otherlv_8, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_6());
-                
+    // $ANTLR start "ruleLoopAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1223:1: ruleLoopAction returns [EObject current=null] : otherlv_0= 'LoopAction' ;
+    public final EObject ruleLoopAction() throws RecognitionException {
+        EObject current = null;
 
-            }
+        Token otherlv_0=null;
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1226:28: (otherlv_0= 'LoopAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1227:2: otherlv_0= 'LoopAction'
+            {
+            otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleLoopAction2595); 
 
+                	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword());
+                
 
             }
 
@@ -3283,29 +2863,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleStartAction"
+    // $ANTLR end "ruleLoopAction"
 
 
-    // $ANTLR start "entryRuleStopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1445:1: entryRuleStopAction returns [EObject current=null] : iv_ruleStopAction= ruleStopAction EOF ;
-    public final EObject entryRuleStopAction() throws RecognitionException {
+    // $ANTLR start "entryRuleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1239:1: entryRuleBranchAction returns [EObject current=null] : iv_ruleBranchAction= ruleBranchAction EOF ;
+    public final EObject entryRuleBranchAction() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleStopAction = null;
+        EObject iv_ruleBranchAction = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1446:2: (iv_ruleStopAction= ruleStopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1447:2: iv_ruleStopAction= ruleStopAction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1240:2: (iv_ruleBranchAction= ruleBranchAction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1241:2: iv_ruleBranchAction= ruleBranchAction EOF
             {
-             newCompositeNode(grammarAccess.getStopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction3006);
-            iv_ruleStopAction=ruleStopAction();
+             newCompositeNode(grammarAccess.getBranchActionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction2630);
+            iv_ruleBranchAction=ruleBranchAction();
 
             state._fsp--;
 
-             current =iv_ruleStopAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction3016); 
+             current =iv_ruleBranchAction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction2640); 
 
             }
 
@@ -3319,2516 +2899,27 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleStopAction"
+    // $ANTLR end "entryRuleBranchAction"
 
 
-    // $ANTLR start "ruleStopAction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1454: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 {
+    // $ANTLR start "ruleBranchAction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1248:1: ruleBranchAction returns [EObject current=null] : otherlv_0= 'BranchAction' ;
+    public final EObject ruleBranchAction() 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;
-
+        Token otherlv_0=null;
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1457: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1458: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1458: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1458: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1458:2: ()
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1459:5: 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1251:28: (otherlv_0= 'BranchAction' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1252:2: otherlv_0= 'BranchAction'
             {
+            otherlv_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleBranchAction2676); 
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getStopActionAccess().getStopActionAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStopAction3062); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1468:1: ( (lv_id_2_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1469:1: (lv_id_2_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1469:1: (lv_id_2_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1470:3: lv_id_2_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getStopActionAccess().getIdEStringParserRuleCall_2_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3083);
-            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_ruleStopAction3095); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1490:1: (otherlv_4= 'predecessor' ( ( ruleEString ) ) )?
-            int alt21=2;
-            int LA21_0 = input.LA(1);
-
-            if ( (LA21_0==42) ) {
-                alt21=1;
-            }
-            switch (alt21) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1490:3: otherlv_4= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_4=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleStopAction3108); 
-
-                        	newLeafNode(otherlv_4, grammarAccess.getStopActionAccess().getPredecessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1494:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1495:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1495:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1496:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3131);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1509:4: (otherlv_6= 'successor' ( ( ruleEString ) ) )?
-            int alt22=2;
-            int LA22_0 = input.LA(1);
-
-            if ( (LA22_0==43) ) {
-                alt22=1;
-            }
-            switch (alt22) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1509:6: otherlv_6= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_6=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleStopAction3146); 
-
-                        	newLeafNode(otherlv_6, grammarAccess.getStopActionAccess().getSuccessorKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1513:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1514:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1514:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1515:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getStopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction3169);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStopAction3183); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1540: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1541:2: (iv_ruleLoopAction= ruleLoopAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1542:2: iv_ruleLoopAction= ruleLoopAction EOF
-            {
-             newCompositeNode(grammarAccess.getLoopActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction3219);
-            iv_ruleLoopAction=ruleLoopAction();
-
-            state._fsp--;
-
-             current =iv_ruleLoopAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction3229); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1549:1: ruleLoopAction returns [EObject current=null] : (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'counter' ( (lv_counter_4_0= ruleEInt ) ) (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( 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;
-
-        AntlrDatatypeRuleToken lv_counter_4_0 = null;
-
-        EObject lv_body_10_0 = null;
-
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1552:28: ( (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'counter' ( (lv_counter_4_0= ruleEInt ) ) (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1553:1: (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'counter' ( (lv_counter_4_0= ruleEInt ) ) (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1553:1: (otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'counter' ( (lv_counter_4_0= ruleEInt ) ) (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1553:3: otherlv_0= 'LoopAction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'counter' ( (lv_counter_4_0= ruleEInt ) ) (otherlv_5= 'predecessor' ( ( ruleEString ) ) )? (otherlv_7= 'successor' ( ( ruleEString ) ) )? otherlv_9= 'body' ( (lv_body_10_0= ruleAdaptationPlan ) ) otherlv_11= '}'
-            {
-            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleLoopAction3266); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1557:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1558:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1558:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1559:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getLoopActionAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3287);
-            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_ruleLoopAction3299); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleLoopAction3311); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getLoopActionAccess().getCounterKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1583:1: ( (lv_counter_4_0= ruleEInt ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1584:1: (lv_counter_4_0= ruleEInt )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1584:1: (lv_counter_4_0= ruleEInt )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1585:3: lv_counter_4_0= ruleEInt
-            {
-             
-            	        newCompositeNode(grammarAccess.getLoopActionAccess().getCounterEIntParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_ruleLoopAction3332);
-            lv_counter_4_0=ruleEInt();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getLoopActionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"counter",
-                    		lv_counter_4_0, 
-                    		"EInt");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1601:2: (otherlv_5= 'predecessor' ( ( ruleEString ) ) )?
-            int alt23=2;
-            int LA23_0 = input.LA(1);
-
-            if ( (LA23_0==42) ) {
-                alt23=1;
-            }
-            switch (alt23) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1601:4: otherlv_5= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleLoopAction3345); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getLoopActionAccess().getPredecessorKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1605:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1606:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1606:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1607:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getLoopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractControlFlowElementCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3368);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1620:4: (otherlv_7= 'successor' ( ( ruleEString ) ) )?
-            int alt24=2;
-            int LA24_0 = input.LA(1);
-
-            if ( (LA24_0==43) ) {
-                alt24=1;
-            }
-            switch (alt24) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1620:6: otherlv_7= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_7=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleLoopAction3383); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getLoopActionAccess().getSuccessorKeyword_6_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1624:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1625:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1625:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1626:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getLoopActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractControlFlowElementCrossReference_6_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction3406);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_9=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleLoopAction3420); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getLoopActionAccess().getBodyKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1643:1: ( (lv_body_10_0= ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1644:1: (lv_body_10_0= ruleAdaptationPlan )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1644:1: (lv_body_10_0= ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1645:3: lv_body_10_0= ruleAdaptationPlan
-            {
-             
-            	        newCompositeNode(grammarAccess.getLoopActionAccess().getBodyAdaptationPlanParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleLoopAction3441);
-            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_ruleLoopAction3453); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1673: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1674:2: (iv_ruleBranchAction= ruleBranchAction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1675:2: iv_ruleBranchAction= ruleBranchAction EOF
-            {
-             newCompositeNode(grammarAccess.getBranchActionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction3489);
-            iv_ruleBranchAction=ruleBranchAction();
-
-            state._fsp--;
-
-             current =iv_ruleBranchAction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction3499); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1682: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1685: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1686: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1686: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1686: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,48,FollowSets000.FOLLOW_48_in_ruleBranchAction3536); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1690:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1691:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1691:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1692:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchActionAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3557);
-            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_ruleBranchAction3569); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1712:1: (otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) ) )?
-            int alt25=2;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==49) ) {
-                alt25=1;
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1712:3: otherlv_3= 'condition' ( (lv_condition_4_0= ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleBranchAction3582); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getBranchActionAccess().getConditionKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1716:1: ( (lv_condition_4_0= ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1717:1: (lv_condition_4_0= ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1717:1: (lv_condition_4_0= ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1718:3: lv_condition_4_0= ruleEString
-                    {
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionEStringParserRuleCall_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3603);
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1734:4: (otherlv_5= 'predecessor' ( ( ruleEString ) ) )?
-            int alt26=2;
-            int LA26_0 = input.LA(1);
-
-            if ( (LA26_0==42) ) {
-                alt26=1;
-            }
-            switch (alt26) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1734:6: otherlv_5= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleBranchAction3618); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getBranchActionAccess().getPredecessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1738:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1739:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1739:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1740:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBranchActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractControlFlowElementCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3641);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1753:4: (otherlv_7= 'successor' ( ( ruleEString ) ) )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
-
-            if ( (LA27_0==43) ) {
-                alt27=1;
-            }
-            switch (alt27) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1753:6: otherlv_7= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_7=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleBranchAction3656); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getSuccessorKeyword_5_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1757:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1758:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1758:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1759:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBranchActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractControlFlowElementCrossReference_5_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3679);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1772:4: (otherlv_9= 'context' ( ( ruleEString ) ) )?
-            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/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1772:6: otherlv_9= 'context' ( ( ruleEString ) )
-                    {
-                    otherlv_9=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleBranchAction3694); 
-
-                        	newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getContextKeyword_6_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1776:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1777:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1777:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1778:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBranchActionRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getBranchActionAccess().getContextEntityCrossReference_6_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction3717);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_11=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleBranchAction3731); 
-
-                	newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getConditionTrueBranchKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1795:1: ( (lv_conditionTrueBranch_12_0= ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1796:1: (lv_conditionTrueBranch_12_0= ruleAdaptationPlan )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1796:1: (lv_conditionTrueBranch_12_0= ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1797:3: lv_conditionTrueBranch_12_0= ruleAdaptationPlan
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionTrueBranchAdaptationPlanParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3752);
-            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,52,FollowSets000.FOLLOW_52_in_ruleBranchAction3764); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getBranchActionAccess().getConditionFalseBranchKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1817:1: ( (lv_conditionFalseBranch_14_0= ruleAdaptationPlan ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1818:1: (lv_conditionFalseBranch_14_0= ruleAdaptationPlan )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1818:1: (lv_conditionFalseBranch_14_0= ruleAdaptationPlan )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1819:3: lv_conditionFalseBranch_14_0= ruleAdaptationPlan
-            {
-             
-            	        newCompositeNode(grammarAccess.getBranchActionAccess().getConditionFalseBranchAdaptationPlanParserRuleCall_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3785);
-            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_ruleBranchAction3797); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1847: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1848:2: (iv_ruleActionReference= ruleActionReference EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1849:2: iv_ruleActionReference= ruleActionReference EOF
-            {
-             newCompositeNode(grammarAccess.getActionReferenceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference3833);
-            iv_ruleActionReference=ruleActionReference();
-
-            state._fsp--;
-
-             current =iv_ruleActionReference; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference3843); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1856: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1859: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1860: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1860: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1860: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,53,FollowSets000.FOLLOW_53_in_ruleActionReference3880); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getActionReferenceAccess().getActionReferenceKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1864:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1865:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1865:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1866:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getActionReferenceAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference3901);
-            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_ruleActionReference3913); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getActionReferenceAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1886:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
-
-            if ( (LA29_0==42) ) {
-                alt29=1;
-            }
-            switch (alt29) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1886:3: otherlv_3= 'predecessor' ( ( ruleEString ) )
-                    {
-                    otherlv_3=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleActionReference3926); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getActionReferenceAccess().getPredecessorKeyword_3_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1890:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1891:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1891:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1892:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getActionReferenceRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getActionReferenceAccess().getPredecessorAbstractControlFlowElementCrossReference_3_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference3949);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1905:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )?
-            int alt30=2;
-            int LA30_0 = input.LA(1);
-
-            if ( (LA30_0==43) ) {
-                alt30=1;
-            }
-            switch (alt30) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1905:6: otherlv_5= 'successor' ( ( ruleEString ) )
-                    {
-                    otherlv_5=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleActionReference3964); 
-
-                        	newLeafNode(otherlv_5, grammarAccess.getActionReferenceAccess().getSuccessorKeyword_4_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1909:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1910:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1910:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1911:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getActionReferenceRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getActionReferenceAccess().getSuccessorAbstractControlFlowElementCrossReference_4_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference3987);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleActionReference4001); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getActionReferenceAccess().getRefersToKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1928:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1929:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1929:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1930:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getActionReferenceRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getActionReferenceAccess().getRefersToActionCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleActionReference4024);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActionReference4036); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getActionReferenceAccess().getRightCurlyBracketKeyword_7());
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleActionReference"
-
-
-    // $ANTLR start "entryRuleEInt"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1955:1: entryRuleEInt returns [String current=null] : iv_ruleEInt= ruleEInt EOF ;
-    public final String entryRuleEInt() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleEInt = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1956:2: (iv_ruleEInt= ruleEInt EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1957:2: iv_ruleEInt= ruleEInt EOF
-            {
-             newCompositeNode(grammarAccess.getEIntRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_entryRuleEInt4073);
-            iv_ruleEInt=ruleEInt();
-
-            state._fsp--;
-
-             current =iv_ruleEInt.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEInt4084); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEInt"
-
-
-    // $ANTLR start "ruleEInt"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1964:1: ruleEInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleEInt() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_1=null;
-
-         enterRule(); 
-            
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1967:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1968:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1968:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1968:2: (kw= '-' )? this_INT_1= RULE_INT
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1968:2: (kw= '-' )?
-            int alt31=2;
-            int LA31_0 = input.LA(1);
-
-            if ( (LA31_0==55) ) {
-                alt31=1;
-            }
-            switch (alt31) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1969:2: kw= '-'
-                    {
-                    kw=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleEInt4123); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEInt4140); 
-
-            		current.merge(this_INT_1);
-                
-             
-                newLeafNode(this_INT_1, grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleEInt"
-
-
-    // $ANTLR start "entryRuleAdaptationActionOperation"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1989: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1990:2: (iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1991:2: iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF
-            {
-             newCompositeNode(grammarAccess.getAdaptationActionOperationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation4185);
-            iv_ruleAdaptationActionOperation=ruleAdaptationActionOperation();
-
-            state._fsp--;
-
-             current =iv_ruleAdaptationActionOperation; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation4195); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1998: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2001: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2002: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2002: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2002: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,56,FollowSets000.FOLLOW_56_in_ruleAdaptationActionOperation4232); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getAdaptationActionOperationAccess().getAdaptationActionOperationKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAdaptationActionOperation4244); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getAdaptationActionOperationAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAdaptationActionOperation4256); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2014:1: ( (lv_adaptationOperationScope_3_0= ruleAdaptationScope ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2015:1: (lv_adaptationOperationScope_3_0= ruleAdaptationScope )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2015:1: (lv_adaptationOperationScope_3_0= ruleAdaptationScope )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2016:3: lv_adaptationOperationScope_3_0= ruleAdaptationScope
-            {
-             
-            	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationScopeAdaptationScopeParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_ruleAdaptationActionOperation4277);
-            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,58,FollowSets000.FOLLOW_58_in_ruleAdaptationActionOperation4289); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2036:1: ( (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2037:1: (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2037:1: (lv_adaptationOperationDirection_5_0= ruleAdaptationDirection )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2038:3: lv_adaptationOperationDirection_5_0= ruleAdaptationDirection
-            {
-             
-            	        newCompositeNode(grammarAccess.getAdaptationActionOperationAccess().getAdaptationOperationDirectionAdaptationDirectionParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_ruleAdaptationActionOperation4310);
-            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_ruleAdaptationActionOperation4322); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2066: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2067:2: (iv_ruleModelVariableConfigurationRange= ruleModelVariableConfigurationRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2068:2: iv_ruleModelVariableConfigurationRange= ruleModelVariableConfigurationRange EOF
-            {
-             newCompositeNode(grammarAccess.getModelVariableConfigurationRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange4358);
-            iv_ruleModelVariableConfigurationRange=ruleModelVariableConfigurationRange();
-
-            state._fsp--;
-
-             current =iv_ruleModelVariableConfigurationRange; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange4368); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2075: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2078: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2079: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2079: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2079: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,59,FollowSets000.FOLLOW_59_in_ruleModelVariableConfigurationRange4405); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getModelVariableConfigurationRangeAccess().getModelVariableConfigurationRangeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2083:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2084:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2084:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2085:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4426);
-            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_ruleModelVariableConfigurationRange4438); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getModelVariableConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleModelVariableConfigurationRange4450); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getModelVariableConfigurationRangeAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2109:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2110:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2110:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2111:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4471);
-            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,60,FollowSets000.FOLLOW_60_in_ruleModelVariableConfigurationRange4483); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2131:1: ( (lv_minValue_6_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2132:1: (lv_minValue_6_0= ruleEDouble )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2132:1: (lv_minValue_6_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2133:3: lv_minValue_6_0= ruleEDouble
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMinValueEDoubleParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4504);
-            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,61,FollowSets000.FOLLOW_61_in_ruleModelVariableConfigurationRange4516); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2153:1: ( (lv_maxValue_8_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2154:1: (lv_maxValue_8_0= ruleEDouble )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2154:1: (lv_maxValue_8_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2155:3: lv_maxValue_8_0= ruleEDouble
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getMaxValueEDoubleParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4537);
-            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,62,FollowSets000.FOLLOW_62_in_ruleModelVariableConfigurationRange4549); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2175:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2176:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2176:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2177:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getModelVariableConfigurationRangeRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getModelVariableConfigurationRangeAccess().getAdaptableEntityAdaptableEntityCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4572);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleModelVariableConfigurationRange4584); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2202: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2203:2: (iv_ruleModelEntityConfigurationRange= ruleModelEntityConfigurationRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2204:2: iv_ruleModelEntityConfigurationRange= ruleModelEntityConfigurationRange EOF
-            {
-             newCompositeNode(grammarAccess.getModelEntityConfigurationRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange4620);
-            iv_ruleModelEntityConfigurationRange=ruleModelEntityConfigurationRange();
-
-            state._fsp--;
-
-             current =iv_ruleModelEntityConfigurationRange; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange4630); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2211: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2214: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2215: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2215: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2215: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,63,FollowSets000.FOLLOW_63_in_ruleModelEntityConfigurationRange4667); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getModelEntityConfigurationRangeAccess().getModelEntityConfigurationRangeKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2219:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2220:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2220:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2221:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4688);
-            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_ruleModelEntityConfigurationRange4700); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getModelEntityConfigurationRangeAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleModelEntityConfigurationRange4712); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getModelEntityConfigurationRangeAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2245:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2246:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2246:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2247:3: lv_name_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4733);
-            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,62,FollowSets000.FOLLOW_62_in_ruleModelEntityConfigurationRange4745); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2267:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2268:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2268:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2269:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getModelEntityConfigurationRangeRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getAdaptableEntityEntityCrossReference_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4768);
-            ruleEString();
-
-            state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            otherlv_7=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleModelEntityConfigurationRange4780); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2286:1: ( (lv_variationPossibility_8_0= ruleVariationType ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2287:1: (lv_variationPossibility_8_0= ruleVariationType )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2287:1: (lv_variationPossibility_8_0= ruleVariationType )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2288:3: lv_variationPossibility_8_0= ruleVariationType
-            {
-             
-            	        newCompositeNode(grammarAccess.getModelEntityConfigurationRangeAccess().getVariationPossibilityVariationTypeParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleVariationType_in_ruleModelEntityConfigurationRange4801);
-            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_ruleModelEntityConfigurationRange4813); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2316: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2317:2: (iv_ruleEDouble= ruleEDouble EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2318:2: iv_ruleEDouble= ruleEDouble EOF
-            {
-             newCompositeNode(grammarAccess.getEDoubleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble4850);
-            iv_ruleEDouble=ruleEDouble();
-
-            state._fsp--;
-
-             current =iv_ruleEDouble.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble4861); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2325: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2328: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2329: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2329: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2329: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2329:2: (kw= '-' )?
-            int alt32=2;
-            int LA32_0 = input.LA(1);
-
-            if ( (LA32_0==55) ) {
-                alt32=1;
-            }
-            switch (alt32) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2330:2: kw= '-'
-                    {
-                    kw=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleEDouble4900); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2335: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2335:8: this_INT_1= RULE_INT
-                    {
-                    this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble4918); 
-
-                    		current.merge(this_INT_1);
-                        
-                     
-                        newLeafNode(this_INT_1, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleEDouble4938); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble4953); 
-
-            		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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2355:1: ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )?
-            int alt36=2;
-            int LA36_0 = input.LA(1);
-
-            if ( ((LA36_0>=66 && LA36_0<=67)) ) {
-                alt36=1;
-            }
-            switch (alt36) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2355:2: (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2355:2: (kw= 'E' | kw= 'e' )
-                    int alt34=2;
-                    int LA34_0 = input.LA(1);
-
-                    if ( (LA34_0==66) ) {
-                        alt34=1;
-                    }
-                    else if ( (LA34_0==67) ) {
-                        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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2356:2: kw= 'E'
-                            {
-                            kw=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleEDouble4973); 
-
-                                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2363:2: kw= 'e'
-                            {
-                            kw=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleEDouble4992); 
-
-                                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2368:2: (kw= '-' )?
-                    int alt35=2;
-                    int LA35_0 = input.LA(1);
-
-                    if ( (LA35_0==55) ) {
-                        alt35=1;
-                    }
-                    switch (alt35) {
-                        case 1 :
-                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2369:2: kw= '-'
-                            {
-                            kw=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleEDouble5007); 
-
-                                    current.merge(kw);
-                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
-                                
-
-                            }
-                            break;
-
-                    }
-
-                    this_INT_7=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble5024); 
-
-                    		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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2389: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2390:2: (iv_rulePropertyRange= rulePropertyRange EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2391:2: iv_rulePropertyRange= rulePropertyRange EOF
-            {
-             newCompositeNode(grammarAccess.getPropertyRangeRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange5071);
-            iv_rulePropertyRange=rulePropertyRange();
-
-            state._fsp--;
-
-             current =iv_rulePropertyRange; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange5081); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2398: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2401: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2402: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2402: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2402: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,68,FollowSets000.FOLLOW_68_in_rulePropertyRange5118); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePropertyRange5130); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getPropertyRangeAccess().getLeftCurlyBracketKeyword_1());
-                
-            otherlv_2=(Token)match(input,69,FollowSets000.FOLLOW_69_in_rulePropertyRange5142); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getPropertyRangeAccess().getMinValueConstraintKeyword_2());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2414:1: ( (lv_minValueConstraint_3_0= ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2415:1: (lv_minValueConstraint_3_0= ruleOclConstraint )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2415:1: (lv_minValueConstraint_3_0= ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2416:3: lv_minValueConstraint_3_0= ruleOclConstraint
-            {
-             
-            	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMinValueConstraintOclConstraintParserRuleCall_3_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_rulePropertyRange5163);
-            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,70,FollowSets000.FOLLOW_70_in_rulePropertyRange5175); 
-
-                	newLeafNode(otherlv_4, grammarAccess.getPropertyRangeAccess().getMaxValueConstraintKeyword_4());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2436:1: ( (lv_maxValueConstraint_5_0= ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2437:1: (lv_maxValueConstraint_5_0= ruleOclConstraint )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2437:1: (lv_maxValueConstraint_5_0= ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2438:3: lv_maxValueConstraint_5_0= ruleOclConstraint
-            {
-             
-            	        newCompositeNode(grammarAccess.getPropertyRangeAccess().getMaxValueConstraintOclConstraintParserRuleCall_5_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_rulePropertyRange5196);
-            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_rulePropertyRange5208); 
-
-                	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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2466: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2467:2: (iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2468:2: iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF
-            {
-             newCompositeNode(grammarAccess.getSetOfConfigurationsRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations5244);
-            iv_ruleSetOfConfigurations=ruleSetOfConfigurations();
-
-            state._fsp--;
-
-             current =iv_ruleSetOfConfigurations; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations5254); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2475: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2478: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2479: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2479: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2479: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,71,FollowSets000.FOLLOW_71_in_ruleSetOfConfigurations5291); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword_0());
-                
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSetOfConfigurations5303); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getSetOfConfigurationsAccess().getLeftCurlyBracketKeyword_1());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2487:1: (otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')' )?
-            int alt38=2;
-            int LA38_0 = input.LA(1);
-
-            if ( (LA38_0==72) ) {
-                alt38=1;
-            }
-            switch (alt38) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2487:3: otherlv_2= 'variants' otherlv_3= '(' ( ( ruleEString ) ) (otherlv_5= ',' ( ( ruleEString ) ) )* otherlv_7= ')'
-                    {
-                    otherlv_2=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleSetOfConfigurations5316); 
-
-                        	newLeafNode(otherlv_2, grammarAccess.getSetOfConfigurationsAccess().getVariantsKeyword_2_0());
-                        
-                    otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleSetOfConfigurations5328); 
-
-                        	newLeafNode(otherlv_3, grammarAccess.getSetOfConfigurationsAccess().getLeftParenthesisKeyword_2_1());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2495:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2496:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2496:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2497:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_2_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSetOfConfigurations5351);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2510: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2510:4: otherlv_5= ',' ( ( ruleEString ) )
-                    	    {
-                    	    otherlv_5=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSetOfConfigurations5364); 
-
-                    	        	newLeafNode(otherlv_5, grammarAccess.getSetOfConfigurationsAccess().getCommaKeyword_2_3_0());
-                    	        
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2514:1: ( ( ruleEString ) )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2515:1: ( ruleEString )
-                    	    {
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2515:1: ( ruleEString )
-                    	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2516:3: ruleEString
-                    	    {
-
-                    	    			if (current==null) {
-                    	    	            current = createModelElement(grammarAccess.getSetOfConfigurationsRule());
-                    	    	        }
-                    	            
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getVariantsEntityCrossReference_2_3_1_0()); 
-                    	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSetOfConfigurations5387);
-                    	    ruleEString();
-
-                    	    state._fsp--;
-
-                    	     
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
-
-                    	    }
-
-
-                    	    }
-
-
-                    	    }
-                    	    break;
-
-                    	default :
-                    	    break loop37;
-                        }
-                    } while (true);
-
-                    otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleSetOfConfigurations5401); 
-
-                        	newLeafNode(otherlv_7, grammarAccess.getSetOfConfigurationsAccess().getRightParenthesisKeyword_2_4());
-                        
-
-                    }
-                    break;
-
-            }
-
-            otherlv_8=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleSetOfConfigurations5415); 
-
-                	newLeafNode(otherlv_8, grammarAccess.getSetOfConfigurationsAccess().getValueConstraintKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2537:1: ( (lv_valueConstraint_9_0= ruleOclConstraint ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2538:1: (lv_valueConstraint_9_0= ruleOclConstraint )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2538:1: (lv_valueConstraint_9_0= ruleOclConstraint )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2539:3: lv_valueConstraint_9_0= ruleOclConstraint
-            {
-             
-            	        newCompositeNode(grammarAccess.getSetOfConfigurationsAccess().getValueConstraintOclConstraintParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_ruleSetOfConfigurations5436);
-            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_ruleSetOfConfigurations5448); 
-
-                	newLeafNode(otherlv_10, grammarAccess.getSetOfConfigurationsAccess().getRightCurlyBracketKeyword_5());
+                	newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword());
                 
 
-            }
-
-
             }
 
              leaveRule(); 
@@ -5842,29 +2933,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleSetOfConfigurations"
+    // $ANTLR end "ruleBranchAction"
 
 
-    // $ANTLR start "entryRuleOclConstraint"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2567:1: entryRuleOclConstraint returns [EObject current=null] : iv_ruleOclConstraint= ruleOclConstraint EOF ;
-    public final EObject entryRuleOclConstraint() throws RecognitionException {
+    // $ANTLR start "entryRuleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1264:1: entryRuleActionReference returns [EObject current=null] : iv_ruleActionReference= ruleActionReference EOF ;
+    public final EObject entryRuleActionReference() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleOclConstraint = null;
+        EObject iv_ruleActionReference = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2568:2: (iv_ruleOclConstraint= ruleOclConstraint EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2569:2: iv_ruleOclConstraint= ruleOclConstraint EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1265:2: (iv_ruleActionReference= ruleActionReference EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1266:2: iv_ruleActionReference= ruleActionReference EOF
             {
-             newCompositeNode(grammarAccess.getOclConstraintRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint5484);
-            iv_ruleOclConstraint=ruleOclConstraint();
+             newCompositeNode(grammarAccess.getActionReferenceRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleActionReference_in_entryRuleActionReference2711);
+            iv_ruleActionReference=ruleActionReference();
 
             state._fsp--;
 
-             current =iv_ruleOclConstraint; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOclConstraint5494); 
+             current =iv_ruleActionReference; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActionReference2721); 
 
             }
 
@@ -5878,114 +2969,27 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleOclConstraint"
+    // $ANTLR end "entryRuleActionReference"
 
 
-    // $ANTLR start "ruleOclConstraint"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2576: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 {
+    // $ANTLR start "ruleActionReference"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1273:1: ruleActionReference returns [EObject current=null] : otherlv_0= 'ActionReference' ;
+    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;
-        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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2579: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2580: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2580: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2580: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,74,FollowSets000.FOLLOW_74_in_ruleOclConstraint5531); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getOclConstraintAccess().getOclConstraintKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2584:1: ( (lv_name_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2585:1: (lv_name_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2585:1: (lv_name_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2586:3: lv_name_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1276:28: (otherlv_0= 'ActionReference' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1277:2: otherlv_0= 'ActionReference'
             {
-             
-            	        newCompositeNode(grammarAccess.getOclConstraintAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOclConstraint5552);
-            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_ruleOclConstraint5564); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getOclConstraintAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleOclConstraint5576); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getOclConstraintAccess().getOclStringKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2610:1: ( (lv_oclString_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2611:1: (lv_oclString_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2611:1: (lv_oclString_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2612:3: lv_oclString_4_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getOclConstraintAccess().getOclStringEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleOclConstraint5597);
-            lv_oclString_4_0=ruleEString();
-
-            state._fsp--;
+            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleActionReference2757); 
 
-
-            	        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_ruleOclConstraint5609); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getOclConstraintAccess().getRightCurlyBracketKeyword_5());
+                	newLeafNode(otherlv_0, grammarAccess.getActionReferenceAccess().getActionReferenceKeyword());
                 
 
-            }
-
-
             }
 
              leaveRule(); 
@@ -5999,29 +3003,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleOclConstraint"
+    // $ANTLR end "ruleActionReference"
 
 
-    // $ANTLR start "entryRuleAdaptationScope"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2640:1: entryRuleAdaptationScope returns [String current=null] : iv_ruleAdaptationScope= ruleAdaptationScope EOF ;
-    public final String entryRuleAdaptationScope() throws RecognitionException {
-        String current = null;
+    // $ANTLR start "entryRuleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1291:1: entryRuleAdaptationActionOperation returns [EObject current=null] : iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF ;
+    public final EObject entryRuleAdaptationActionOperation() throws RecognitionException {
+        EObject current = null;
 
-        AntlrDatatypeRuleToken iv_ruleAdaptationScope = null;
+        EObject iv_ruleAdaptationActionOperation = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2641:2: (iv_ruleAdaptationScope= ruleAdaptationScope EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2642:2: iv_ruleAdaptationScope= ruleAdaptationScope EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1292:2: (iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1293:2: iv_ruleAdaptationActionOperation= ruleAdaptationActionOperation EOF
             {
-             newCompositeNode(grammarAccess.getAdaptationScopeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope5646);
-            iv_ruleAdaptationScope=ruleAdaptationScope();
+             newCompositeNode(grammarAccess.getAdaptationActionOperationRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation2794);
+            iv_ruleAdaptationActionOperation=ruleAdaptationActionOperation();
 
             state._fsp--;
 
-             current =iv_ruleAdaptationScope.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationScope5657); 
+             current =iv_ruleAdaptationActionOperation; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationActionOperation2804); 
 
             }
 
@@ -6035,26 +3039,25 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleAdaptationScope"
+    // $ANTLR end "entryRuleAdaptationActionOperation"
 
 
-    // $ANTLR start "ruleAdaptationScope"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2649:1: ruleAdaptationScope returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'AdaptationScope' ;
-    public final AntlrDatatypeRuleToken ruleAdaptationScope() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+    // $ANTLR start "ruleAdaptationActionOperation"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1300:1: ruleAdaptationActionOperation returns [EObject current=null] : otherlv_0= 'AdaptionActionOperation' ;
+    public final EObject ruleAdaptationActionOperation() throws RecognitionException {
+        EObject current = null;
 
-        Token kw=null;
+        Token otherlv_0=null;
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2652:28: (kw= 'AdaptationScope' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2654:2: kw= 'AdaptationScope'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1303:28: (otherlv_0= 'AdaptionActionOperation' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1304:2: otherlv_0= 'AdaptionActionOperation'
             {
-            kw=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleAdaptationScope5694); 
+            otherlv_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleAdaptationActionOperation2840); 
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getAdaptationScopeAccess().getAdaptationScopeKeyword()); 
+                	newLeafNode(otherlv_0, grammarAccess.getAdaptationActionOperationAccess().getAdaptionActionOperationKeyword());
                 
 
             }
@@ -6070,100 +3073,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleAdaptationScope"
+    // $ANTLR end "ruleAdaptationActionOperation"
 
 
-    // $ANTLR start "entryRuleAdaptationDirection"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2667:1: entryRuleAdaptationDirection returns [String current=null] : iv_ruleAdaptationDirection= ruleAdaptationDirection EOF ;
-    public final String entryRuleAdaptationDirection() throws RecognitionException {
+    // $ANTLR start "entryRuleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1320:1: entryRuleEDouble returns [String current=null] : iv_ruleEDouble= ruleEDouble EOF ;
+    public final String entryRuleEDouble() throws RecognitionException {
         String current = null;
 
-        AntlrDatatypeRuleToken iv_ruleAdaptationDirection = null;
-
-
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2668:2: (iv_ruleAdaptationDirection= ruleAdaptationDirection EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2669:2: iv_ruleAdaptationDirection= ruleAdaptationDirection EOF
-            {
-             newCompositeNode(grammarAccess.getAdaptationDirectionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection5734);
-            iv_ruleAdaptationDirection=ruleAdaptationDirection();
-
-            state._fsp--;
-
-             current =iv_ruleAdaptationDirection.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAdaptationDirection5745); 
-
-            }
-
-        }
-         
-            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2676: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2679:28: (kw= 'AdaptationDirection' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2681:2: kw= 'AdaptationDirection'
-            {
-            kw=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleAdaptationDirection5782); 
-
-                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2694:1: entryRuleObjective returns [EObject current=null] : iv_ruleObjective= ruleObjective EOF ;
-    public final EObject entryRuleObjective() throws RecognitionException {
-        EObject current = null;
-
-        EObject iv_ruleObjective = null;
+        AntlrDatatypeRuleToken iv_ruleEDouble = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2695:2: (iv_ruleObjective= ruleObjective EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2696:2: iv_ruleObjective= ruleObjective EOF
-            {
-             newCompositeNode(grammarAccess.getObjectiveRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_entryRuleObjective5821);
-            iv_ruleObjective=ruleObjective();
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1321:2: (iv_ruleEDouble= ruleEDouble EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1322:2: iv_ruleEDouble= ruleEDouble EOF
+            {
+             newCompositeNode(grammarAccess.getEDoubleRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_entryRuleEDouble2880);
+            iv_ruleEDouble=ruleEDouble();
 
             state._fsp--;
 
-             current =iv_ruleObjective; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjective5831); 
+             current =iv_ruleEDouble.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDouble2891); 
 
             }
 
@@ -6177,148 +3109,174 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleObjective"
-
-
-    // $ANTLR start "ruleObjective"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2703: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= 'specification' ( (lv_specification_6_0= ruleEString ) ) otherlv_7= '}' ) ;
-    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_7=null;
-        AntlrDatatypeRuleToken lv_id_1_0 = null;
+    // $ANTLR end "entryRuleEDouble"
 
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
 
-        AntlrDatatypeRuleToken lv_specification_6_0 = null;
+    // $ANTLR start "ruleEDouble"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1329: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2706:28: ( (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specification' ( (lv_specification_6_0= ruleEString ) ) otherlv_7= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2707:1: (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specification' ( (lv_specification_6_0= ruleEString ) ) otherlv_7= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1332: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1333: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2707:1: (otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specification' ( (lv_specification_6_0= ruleEString ) ) otherlv_7= '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2707:3: otherlv_0= 'Objective' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'specification' ( (lv_specification_6_0= ruleEString ) ) otherlv_7= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1333: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1333:2: (kw= '-' )? (this_INT_1= RULE_INT )? kw= '.' this_INT_3= RULE_INT ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )?
             {
-            otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleObjective5868); 
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1333:2: (kw= '-' )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-                	newLeafNode(otherlv_0, grammarAccess.getObjectiveAccess().getObjectiveKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2711:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2712:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2712:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2713:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getObjectiveAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective5889);
-            lv_id_1_0=ruleEString();
+            if ( (LA17_0==41) ) {
+                alt17=1;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1334:2: kw= '-'
+                    {
+                    kw=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleEDouble2930); 
 
-            state._fsp--;
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_0()); 
+                        
 
+                    }
+                    break;
 
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
+            }
+
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1339:3: (this_INT_1= RULE_INT )?
+            int alt18=2;
+            int LA18_0 = input.LA(1);
 
+            if ( (LA18_0==RULE_INT) ) {
+                alt18=1;
             }
+            switch (alt18) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1339:8: this_INT_1= RULE_INT
+                    {
+                    this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble2948); 
 
+                    		current.merge(this_INT_1);
+                        
+                     
+                        newLeafNode(this_INT_1, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_1()); 
+                        
+
+                    }
+                    break;
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleObjective5901); 
+            kw=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleEDouble2968); 
 
-                	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getLeftCurlyBracketKeyword_2());
+                    current.merge(kw);
+                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getFullStopKeyword_2()); 
                 
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleObjective5913); 
+            this_INT_3=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble2983); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getObjectiveAccess().getNameKeyword_3());
+            		current.merge(this_INT_3);
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2737:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2738:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2738:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2739:3: lv_name_4_0= ruleEString
-            {
              
-            	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective5934);
-            lv_name_4_0=ruleEString();
+                newLeafNode(this_INT_3, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_3()); 
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1359:1: ( (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            state._fsp--;
+            if ( ((LA21_0>=43 && LA21_0<=44)) ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1359:2: (kw= 'E' | kw= 'e' ) (kw= '-' )? this_INT_7= RULE_INT
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1359:2: (kw= 'E' | kw= 'e' )
+                    int alt19=2;
+                    int LA19_0 = input.LA(1);
 
+                    if ( (LA19_0==43) ) {
+                        alt19=1;
+                    }
+                    else if ( (LA19_0==44) ) {
+                        alt19=2;
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 19, 0, input);
 
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
+                        throw nvae;
+                    }
+                    switch (alt19) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1360:2: kw= 'E'
+                            {
+                            kw=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleEDouble3003); 
 
-            }
+                                    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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1367:2: kw= 'e'
+                            {
+                            kw=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleEDouble3022); 
 
-            }
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getEKeyword_4_0_1()); 
+                                
 
-            otherlv_5=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleObjective5946); 
+                            }
+                            break;
 
-                	newLeafNode(otherlv_5, grammarAccess.getObjectiveAccess().getSpecificationKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2759:1: ( (lv_specification_6_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2760:1: (lv_specification_6_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2760:1: (lv_specification_6_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2761:3: lv_specification_6_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective5967);
-            lv_specification_6_0=ruleEString();
+                    }
 
-            state._fsp--;
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1372:2: (kw= '-' )?
+                    int alt20=2;
+                    int LA20_0 = input.LA(1);
 
+                    if ( (LA20_0==41) ) {
+                        alt20=1;
+                    }
+                    switch (alt20) {
+                        case 1 :
+                            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1373:2: kw= '-'
+                            {
+                            kw=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleEDouble3037); 
 
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"specification",
-                    		lv_specification_6_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getEDoubleAccess().getHyphenMinusKeyword_4_1()); 
+                                
 
-            }
+                            }
+                            break;
 
+                    }
 
-            }
+                    this_INT_7=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEDouble3054); 
 
-            otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleObjective5979); 
+                    		current.merge(this_INT_7);
+                        
+                     
+                        newLeafNode(this_INT_7, grammarAccess.getEDoubleAccess().getINTTerminalRuleCall_4_2()); 
+                        
+
+                    }
+                    break;
+
+            }
 
-                	newLeafNode(otherlv_7, grammarAccess.getObjectiveAccess().getRightCurlyBracketKeyword_7());
-                
 
             }
 
@@ -6336,29 +3294,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleObjective"
+    // $ANTLR end "ruleEDouble"
 
 
-    // $ANTLR start "entryRuleEvent"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2789:1: entryRuleEvent returns [EObject current=null] : iv_ruleEvent= ruleEvent EOF ;
-    public final EObject entryRuleEvent() throws RecognitionException {
+    // $ANTLR start "entryRulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1393:1: entryRulePropertyRange returns [EObject current=null] : iv_rulePropertyRange= rulePropertyRange EOF ;
+    public final EObject entryRulePropertyRange() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleEvent = null;
+        EObject iv_rulePropertyRange = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2790:2: (iv_ruleEvent= ruleEvent EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2791:2: iv_ruleEvent= ruleEvent EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1394:2: (iv_rulePropertyRange= rulePropertyRange EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1395:2: iv_rulePropertyRange= rulePropertyRange EOF
             {
-             newCompositeNode(grammarAccess.getEventRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_entryRuleEvent6015);
-            iv_ruleEvent=ruleEvent();
+             newCompositeNode(grammarAccess.getPropertyRangeRule()); 
+            pushFollow(FollowSets000.FOLLOW_rulePropertyRange_in_entryRulePropertyRange3101);
+            iv_rulePropertyRange=rulePropertyRange();
 
             state._fsp--;
 
-             current =iv_ruleEvent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvent6025); 
+             current =iv_rulePropertyRange; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePropertyRange3111); 
 
             }
 
@@ -6372,113 +3330,96 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleEvent"
+    // $ANTLR end "entryRulePropertyRange"
 
 
-    // $ANTLR start "ruleEvent"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2798: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 {
+    // $ANTLR start "rulePropertyRange"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1402:1: rulePropertyRange returns [EObject current=null] : otherlv_0= 'PropertyRange' ;
+    public final EObject rulePropertyRange() 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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2801: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2802: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1405:28: (otherlv_0= 'PropertyRange' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1406:2: otherlv_0= 'PropertyRange'
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2802: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2802: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,80,FollowSets000.FOLLOW_80_in_ruleEvent6062); 
+            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_rulePropertyRange3147); 
 
-                	newLeafNode(otherlv_0, grammarAccess.getEventAccess().getEventKeyword_0());
+                	newLeafNode(otherlv_0, grammarAccess.getPropertyRangeAccess().getPropertyRangeKeyword());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2806:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2807:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2807:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2808:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getEventAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleEvent6083);
-            lv_id_1_0=ruleEString();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getEventRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"id",
-                    		lv_id_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
 
             }
 
+             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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1418:1: entryRuleSetOfConfigurations returns [EObject current=null] : iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF ;
+    public final EObject entryRuleSetOfConfigurations() throws RecognitionException {
+        EObject current = null;
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleEvent6095); 
+        EObject iv_ruleSetOfConfigurations = null;
 
-                	newLeafNode(otherlv_2, grammarAccess.getEventAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleEvent6107); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getEventAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2832:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2833:1: (lv_name_4_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2833:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2834:3: lv_name_4_0= ruleEString
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1419:2: (iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1420:2: iv_ruleSetOfConfigurations= ruleSetOfConfigurations EOF
             {
-             
-            	        newCompositeNode(grammarAccess.getEventAccess().getNameEStringParserRuleCall_4_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleEvent6128);
-            lv_name_4_0=ruleEString();
+             newCompositeNode(grammarAccess.getSetOfConfigurationsRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations3182);
+            iv_ruleSetOfConfigurations=ruleSetOfConfigurations();
 
             state._fsp--;
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getEventRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
+             current =iv_ruleSetOfConfigurations; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetOfConfigurations3192); 
 
             }
 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleSetOfConfigurations"
 
-            }
 
-            otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleEvent6140); 
+    // $ANTLR start "ruleSetOfConfigurations"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1427:1: ruleSetOfConfigurations returns [EObject current=null] : otherlv_0= 'SetOfConfigurations' ;
+    public final EObject ruleSetOfConfigurations() throws RecognitionException {
+        EObject current = null;
 
-                	newLeafNode(otherlv_5, grammarAccess.getEventAccess().getRightCurlyBracketKeyword_5());
-                
+        Token otherlv_0=null;
 
-            }
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1430:28: (otherlv_0= 'SetOfConfigurations' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1431:2: otherlv_0= 'SetOfConfigurations'
+            {
+            otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleSetOfConfigurations3228); 
 
+                	newLeafNode(otherlv_0, grammarAccess.getSetOfConfigurationsAccess().getSetOfConfigurationsKeyword());
+                
 
             }
 
@@ -6493,29 +3434,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleEvent"
+    // $ANTLR end "ruleSetOfConfigurations"
 
 
-    // $ANTLR start "entryRuleWeightedTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2862:1: entryRuleWeightedTactic returns [EObject current=null] : iv_ruleWeightedTactic= ruleWeightedTactic EOF ;
-    public final EObject entryRuleWeightedTactic() throws RecognitionException {
+    // $ANTLR start "entryRuleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1449:1: entryRuleObjective returns [EObject current=null] : iv_ruleObjective= ruleObjective EOF ;
+    public final EObject entryRuleObjective() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleWeightedTactic = null;
+        EObject iv_ruleObjective = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2863:2: (iv_ruleWeightedTactic= ruleWeightedTactic EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2864:2: iv_ruleWeightedTactic= ruleWeightedTactic EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1450:2: (iv_ruleObjective= ruleObjective EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1451:2: iv_ruleObjective= ruleObjective EOF
             {
-             newCompositeNode(grammarAccess.getWeightedTacticRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic6176);
-            iv_ruleWeightedTactic=ruleWeightedTactic();
+             newCompositeNode(grammarAccess.getObjectiveRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleObjective_in_entryRuleObjective3269);
+            iv_ruleObjective=ruleObjective();
 
             state._fsp--;
 
-             current =iv_ruleWeightedTactic; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedTactic6186); 
+             current =iv_ruleObjective; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObjective3279); 
 
             }
 
@@ -6529,66 +3470,56 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleWeightedTactic"
+    // $ANTLR end "entryRuleObjective"
 
 
-    // $ANTLR start "ruleWeightedTactic"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2871: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 {
+    // $ANTLR start "ruleObjective"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1458:1: ruleObjective returns [EObject current=null] : (otherlv_0= 'Objective' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '=' ( (lv_specification_3_0= ruleEString ) ) ) ;
+    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_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_name_1_0 = null;
 
-        AntlrDatatypeRuleToken lv_defaultWeight_8_0 = null;
+        AntlrDatatypeRuleToken lv_specification_3_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2874: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2875: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1461:28: ( (otherlv_0= 'Objective' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '=' ( (lv_specification_3_0= ruleEString ) ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1462:1: (otherlv_0= 'Objective' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '=' ( (lv_specification_3_0= ruleEString ) ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2875: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2875: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1462:1: (otherlv_0= 'Objective' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '=' ( (lv_specification_3_0= ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1462:3: otherlv_0= 'Objective' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '=' ( (lv_specification_3_0= ruleEString ) )
             {
-            otherlv_0=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleWeightedTactic6223); 
+            otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleObjective3316); 
 
-                	newLeafNode(otherlv_0, grammarAccess.getWeightedTacticAccess().getWeightedTacticKeyword_0());
+                	newLeafNode(otherlv_0, grammarAccess.getObjectiveAccess().getObjectiveKeyword_0());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2879:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2880:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1466:1: ( (lv_name_1_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1467:1: (lv_name_1_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2880:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2881:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1467:1: (lv_name_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1468:3: lv_name_1_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getObjectiveAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6244);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective3337);
+            lv_name_1_0=ruleEString();
 
             state._fsp--;
 
 
             	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_1_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -6598,36 +3529,32 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightedTactic6256); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getWeightedTacticAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightedTactic6268); 
+            otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleObjective3349); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getWeightedTacticAccess().getNameKeyword_3());
+                	newLeafNode(otherlv_2, grammarAccess.getObjectiveAccess().getEqualsSignKeyword_2());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2905:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2906:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1488:1: ( (lv_specification_3_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1489:1: (lv_specification_3_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2906:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2907:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1489:1: (lv_specification_3_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1490:3: lv_specification_3_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getObjectiveAccess().getSpecificationEStringParserRuleCall_3_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6289);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObjective3370);
+            lv_specification_3_0=ruleEString();
 
             state._fsp--;
 
 
             	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	            current = createModelElementForParent(grammarAccess.getObjectiveRule());
             	        }
                    		set(
                    			current, 
-                   			"name",
-                    		lv_name_4_0, 
+                   			"specification",
+                    		lv_specification_3_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -6637,162 +3564,105 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_5=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleWeightedTactic6301); 
 
-                	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getCurrentWeightKeyword_5());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2927:1: ( (lv_currentWeight_6_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2928:1: (lv_currentWeight_6_0= ruleEDouble )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2928:1: (lv_currentWeight_6_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2929:3: lv_currentWeight_6_0= ruleEDouble
-            {
-             
-            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_6_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic6322);
-            lv_currentWeight_6_0=ruleEDouble();
+            }
 
-            state._fsp--;
 
+            }
 
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"currentWeight",
-                    		lv_currentWeight_6_0, 
-                    		"EDouble");
-            	        afterParserOrEnumRuleCall();
-            	    
+             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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1514:1: entryRuleEvent returns [EObject current=null] : iv_ruleEvent= ruleEvent EOF ;
+    public final EObject entryRuleEvent() throws RecognitionException {
+        EObject current = null;
 
-            }
+        EObject iv_ruleEvent = null;
 
-            otherlv_7=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleWeightedTactic6334); 
 
-                	newLeafNode(otherlv_7, grammarAccess.getWeightedTacticAccess().getDefaultWeightKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2949:1: ( (lv_defaultWeight_8_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2950:1: (lv_defaultWeight_8_0= ruleEDouble )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2950:1: (lv_defaultWeight_8_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2951:3: lv_defaultWeight_8_0= ruleEDouble
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1515:2: (iv_ruleEvent= ruleEvent EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1516:2: iv_ruleEvent= ruleEvent EOF
             {
-             
-            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic6355);
-            lv_defaultWeight_8_0=ruleEDouble();
+             newCompositeNode(grammarAccess.getEventRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEvent_in_entryRuleEvent3406);
+            iv_ruleEvent=ruleEvent();
 
             state._fsp--;
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"defaultWeight",
-                    		lv_defaultWeight_8_0, 
-                    		"EDouble");
-            	        afterParserOrEnumRuleCall();
-            	    
+             current =iv_ruleEvent; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEvent3416); 
 
             }
 
+        }
+         
+            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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1523:1: ruleEvent returns [EObject current=null] : ( (lv_name_0_0= ruleEString ) ) ;
+    public final EObject ruleEvent() throws RecognitionException {
+        EObject current = null;
 
-            otherlv_9=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleWeightedTactic6367); 
+        AntlrDatatypeRuleToken lv_name_0_0 = null;
 
-                	newLeafNode(otherlv_9, grammarAccess.getWeightedTacticAccess().getUsedTacticKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2971:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2972:1: ( ruleEString )
+
+         enterRule(); 
+            
+        try {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1526:28: ( ( (lv_name_0_0= ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1527:1: ( (lv_name_0_0= ruleEString ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2972:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2973:3: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1527:1: ( (lv_name_0_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1528:1: (lv_name_0_0= ruleEString )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1528:1: (lv_name_0_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1529:3: lv_name_0_0= ruleEString
             {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getWeightedTacticRule());
-            	        }
-                    
              
-            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_10_0()); 
+            	        newCompositeNode(grammarAccess.getEventAccess().getNameEStringParserRuleCall_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6390);
-            ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleEvent3461);
+            lv_name_0_0=ruleEString();
 
             state._fsp--;
 
-             
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getEventRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_0_0, 
+                    		"EString");
             	        afterParserOrEnumRuleCall();
             	    
 
             }
 
 
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2986:2: (otherlv_11= 'lastImpact' ( ( ruleEString ) ) )?
-            int alt39=2;
-            int LA39_0 = input.LA(1);
-
-            if ( (LA39_0==85) ) {
-                alt39=1;
-            }
-            switch (alt39) {
-                case 1 :
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2986:4: otherlv_11= 'lastImpact' ( ( ruleEString ) )
-                    {
-                    otherlv_11=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleWeightedTactic6403); 
-
-                        	newLeafNode(otherlv_11, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_11_0());
-                        
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2990:1: ( ( ruleEString ) )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2991:1: ( ruleEString )
-                    {
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2991:1: ( ruleEString )
-                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:2992:3: ruleEString
-                    {
-
-                    			if (current==null) {
-                    	            current = createModelElement(grammarAccess.getWeightedTacticRule());
-                    	        }
-                            
-                     
-                    	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_11_1_0()); 
-                    	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic6426);
-                    ruleEString();
-
-                    state._fsp--;
-
-                     
-                    	        afterParserOrEnumRuleCall();
-                    	    
-
-                    }
-
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-
-            otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightedTactic6440); 
-
-                	newLeafNode(otherlv_13, grammarAccess.getWeightedTacticAccess().getRightCurlyBracketKeyword_12());
-                
-
             }
 
 
@@ -6809,29 +3679,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleWeightedTactic"
+    // $ANTLR end "ruleEvent"
 
 
-    // $ANTLR start "entryRuleWeightingFunction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3017:1: entryRuleWeightingFunction returns [EObject current=null] : iv_ruleWeightingFunction= ruleWeightingFunction EOF ;
-    public final EObject entryRuleWeightingFunction() throws RecognitionException {
+    // $ANTLR start "entryRuleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1553:1: entryRuleWeightedTactic returns [EObject current=null] : iv_ruleWeightedTactic= ruleWeightedTactic EOF ;
+    public final EObject entryRuleWeightedTactic() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleWeightingFunction = null;
+        EObject iv_ruleWeightedTactic = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3018:2: (iv_ruleWeightingFunction= ruleWeightingFunction EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3019:2: iv_ruleWeightingFunction= ruleWeightingFunction EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1554:2: (iv_ruleWeightedTactic= ruleWeightedTactic EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1555:2: iv_ruleWeightedTactic= ruleWeightedTactic EOF
             {
-             newCompositeNode(grammarAccess.getWeightingFunctionRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction6476);
-            iv_ruleWeightingFunction=ruleWeightingFunction();
+             newCompositeNode(grammarAccess.getWeightedTacticRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic3496);
+            iv_ruleWeightedTactic=ruleWeightedTactic();
 
             state._fsp--;
 
-             current =iv_ruleWeightingFunction; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightingFunction6486); 
+             current =iv_ruleWeightedTactic; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedTactic3506); 
 
             }
 
@@ -6845,66 +3715,54 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleWeightingFunction"
+    // $ANTLR end "entryRuleWeightedTactic"
 
 
-    // $ANTLR start "ruleWeightingFunction"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3026: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= 'weightedMetrics' otherlv_6= '{' ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) ) (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )* otherlv_10= '}' otherlv_11= '}' ) ;
-    public final EObject ruleWeightingFunction() throws RecognitionException {
+    // $ANTLR start "ruleWeightedTactic"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1562:1: ruleWeightedTactic returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( ( ruleEString ) ) ( (lv_currentWeight_3_0= ruleEDouble ) ) ( (lv_defaultWeight_4_0= ruleEDouble ) ) (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )? ) ;
+    public final EObject ruleWeightedTactic() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_0=null;
-        Token otherlv_2=null;
-        Token otherlv_3=null;
+        Token otherlv_1=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;
+        AntlrDatatypeRuleToken lv_name_0_0 = null;
 
-        EObject lv_weightedMetrics_7_0 = null;
+        AntlrDatatypeRuleToken lv_currentWeight_3_0 = null;
 
-        EObject lv_weightedMetrics_9_0 = null;
+        AntlrDatatypeRuleToken lv_defaultWeight_4_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3029:28: ( (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightedMetrics' otherlv_6= '{' ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) ) (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )* otherlv_10= '}' otherlv_11= '}' ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3030:1: (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightedMetrics' otherlv_6= '{' ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) ) (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )* otherlv_10= '}' otherlv_11= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1565:28: ( ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( ( ruleEString ) ) ( (lv_currentWeight_3_0= ruleEDouble ) ) ( (lv_defaultWeight_4_0= ruleEDouble ) ) (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )? ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1566:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( ( ruleEString ) ) ( (lv_currentWeight_3_0= ruleEDouble ) ) ( (lv_defaultWeight_4_0= ruleEDouble ) ) (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )? )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3030:1: (otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightedMetrics' otherlv_6= '{' ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) ) (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )* otherlv_10= '}' otherlv_11= '}' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3030:3: otherlv_0= 'WeightingFunction' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'weightedMetrics' otherlv_6= '{' ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) ) (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )* otherlv_10= '}' otherlv_11= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1566:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( ( ruleEString ) ) ( (lv_currentWeight_3_0= ruleEDouble ) ) ( (lv_defaultWeight_4_0= ruleEDouble ) ) (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )? )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1566:2: ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( ( ruleEString ) ) ( (lv_currentWeight_3_0= ruleEDouble ) ) ( (lv_defaultWeight_4_0= ruleEDouble ) ) (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )?
             {
-            otherlv_0=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleWeightingFunction6523); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getWeightingFunctionAccess().getWeightingFunctionKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3034:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3035:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1566:2: ( (lv_name_0_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1567:1: (lv_name_0_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3035:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3036:3: lv_id_1_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1567:1: (lv_name_0_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1568:3: lv_name_0_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getIdEStringParserRuleCall_1_0()); 
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getNameEStringParserRuleCall_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction6544);
-            lv_id_1_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic3552);
+            lv_name_0_0=ruleEString();
 
             state._fsp--;
 
 
             	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
             	        }
                    		set(
                    			current, 
-                   			"id",
-                    		lv_id_1_0, 
+                   			"name",
+                    		lv_name_0_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -6914,37 +3772,30 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightingFunction6556); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightingFunction6568); 
+            otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleWeightedTactic3564); 
 
-                	newLeafNode(otherlv_3, grammarAccess.getWeightingFunctionAccess().getNameKeyword_3());
+                	newLeafNode(otherlv_1, grammarAccess.getWeightedTacticAccess().getEqualsSignKeyword_1());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3060:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3061:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1588:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1589:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3061:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3062:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1589:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1590:3: ruleEString
             {
+
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getWeightedTacticRule());
+            	        }
+                    
              
-            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getUsedTacticTacticCrossReference_2_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction6589);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic3587);
+            ruleEString();
 
             state._fsp--;
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_4_0, 
-                    		"EString");
+             
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -6953,186 +3804,120 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_5=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleWeightingFunction6601); 
-
-                	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getWeightedMetricsKeyword_5());
-                
-            otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightingFunction6613); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_6());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3086:1: ( (lv_weightedMetrics_7_0= ruleWeightedMetric ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3087:1: (lv_weightedMetrics_7_0= ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1603:2: ( (lv_currentWeight_3_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1604:1: (lv_currentWeight_3_0= ruleEDouble )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3087:1: (lv_weightedMetrics_7_0= ruleWeightedMetric )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3088:3: lv_weightedMetrics_7_0= ruleWeightedMetric
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1604:1: (lv_currentWeight_3_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1605:3: lv_currentWeight_3_0= ruleEDouble
             {
              
-            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_7_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6634);
-            lv_weightedMetrics_7_0=ruleWeightedMetric();
-
-            state._fsp--;
-
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
-            	        }
-                   		add(
-                   			current, 
-                   			"weightedMetrics",
-                    		lv_weightedMetrics_7_0, 
-                    		"WeightedMetric");
-            	        afterParserOrEnumRuleCall();
-            	    
-
-            }
-
-
-            }
-
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3104:2: (otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) ) )*
-            loop40:
-            do {
-                int alt40=2;
-                int LA40_0 = input.LA(1);
-
-                if ( (LA40_0==15) ) {
-                    alt40=1;
-                }
-
-
-                switch (alt40) {
-            	case 1 :
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3104:4: otherlv_8= ',' ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) )
-            	    {
-            	    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleWeightingFunction6647); 
-
-            	        	newLeafNode(otherlv_8, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_8_0());
-            	        
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3108:1: ( (lv_weightedMetrics_9_0= ruleWeightedMetric ) )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3109:1: (lv_weightedMetrics_9_0= ruleWeightedMetric )
-            	    {
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3109:1: (lv_weightedMetrics_9_0= ruleWeightedMetric )
-            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3110:3: lv_weightedMetrics_9_0= ruleWeightedMetric
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_8_1_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6668);
-            	    lv_weightedMetrics_9_0=ruleWeightedMetric();
-
-            	    state._fsp--;
-
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getCurrentWeightEDoubleParserRuleCall_3_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic3608);
+            lv_currentWeight_3_0=ruleEDouble();
 
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"weightedMetrics",
-            	            		lv_weightedMetrics_9_0, 
-            	            		"WeightedMetric");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            state._fsp--;
 
-            	    }
 
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"currentWeight",
+                    		lv_currentWeight_3_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
 
-            	    }
+            }
 
 
-            	    }
-            	    break;
+            }
 
-            	default :
-            	    break loop40;
-                }
-            } while (true);
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1621:2: ( (lv_defaultWeight_4_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1622:1: (lv_defaultWeight_4_0= ruleEDouble )
+            {
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1622:1: (lv_defaultWeight_4_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1623:3: lv_defaultWeight_4_0= ruleEDouble
+            {
+             
+            	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getDefaultWeightEDoubleParserRuleCall_4_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedTactic3629);
+            lv_defaultWeight_4_0=ruleEDouble();
 
-            otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightingFunction6682); 
+            state._fsp--;
 
-                	newLeafNode(otherlv_10, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_9());
-                
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightingFunction6694); 
 
-                	newLeafNode(otherlv_11, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_10());
-                
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getWeightedTacticRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"defaultWeight",
+                    		lv_defaultWeight_4_0, 
+                    		"EDouble");
+            	        afterParserOrEnumRuleCall();
+            	    
 
             }
 
 
             }
 
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "ruleWeightingFunction"
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1639:2: (otherlv_5= 'lastImpact' ( ( ruleEString ) ) )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
+            if ( (LA22_0==48) ) {
+                alt22=1;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1639:4: otherlv_5= 'lastImpact' ( ( ruleEString ) )
+                    {
+                    otherlv_5=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleWeightedTactic3642); 
 
-    // $ANTLR start "entryRuleEDate"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3146:1: entryRuleEDate returns [String current=null] : iv_ruleEDate= ruleEDate EOF ;
-    public final String entryRuleEDate() throws RecognitionException {
-        String current = null;
+                        	newLeafNode(otherlv_5, grammarAccess.getWeightedTacticAccess().getLastImpactKeyword_5_0());
+                        
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1643:1: ( ( ruleEString ) )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1644:1: ( ruleEString )
+                    {
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1644:1: ( ruleEString )
+                    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1645:3: ruleEString
+                    {
 
-        AntlrDatatypeRuleToken iv_ruleEDate = null;
+                    			if (current==null) {
+                    	            current = createModelElement(grammarAccess.getWeightedTacticRule());
+                    	        }
+                            
+                     
+                    	        newCompositeNode(grammarAccess.getWeightedTacticAccess().getLastImpactImpactCrossReference_5_1_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedTactic3665);
+                    ruleEString();
 
+                    state._fsp--;
 
-        try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3147:2: (iv_ruleEDate= ruleEDate EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3148:2: iv_ruleEDate= ruleEDate EOF
-            {
-             newCompositeNode(grammarAccess.getEDateRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEDate_in_entryRuleEDate6735);
-            iv_ruleEDate=ruleEDate();
+                     
+                    	        afterParserOrEnumRuleCall();
+                    	    
 
-            state._fsp--;
+                    }
 
-             current =iv_ruleEDate.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEDate6746); 
 
-            }
+                    }
 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleEDate"
 
+                    }
+                    break;
 
-    // $ANTLR start "ruleEDate"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3155: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3158:28: (kw= 'EDate' )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3160:2: kw= 'EDate'
-            {
-            kw=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleEDate6783); 
+            }
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getEDateAccess().getEDateKeyword()); 
-                
 
             }
 
@@ -7147,29 +3932,29 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleEDate"
+    // $ANTLR end "ruleWeightedTactic"
 
 
-    // $ANTLR start "entryRuleMetricValue"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3173:1: entryRuleMetricValue returns [EObject current=null] : iv_ruleMetricValue= ruleMetricValue EOF ;
-    public final EObject entryRuleMetricValue() throws RecognitionException {
+    // $ANTLR start "entryRuleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1666:1: entryRuleWeightingFunction returns [EObject current=null] : iv_ruleWeightingFunction= ruleWeightingFunction EOF ;
+    public final EObject entryRuleWeightingFunction() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleMetricValue = null;
+        EObject iv_ruleWeightingFunction = null;
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3174:2: (iv_ruleMetricValue= ruleMetricValue EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3175:2: iv_ruleMetricValue= ruleMetricValue EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1667:2: (iv_ruleWeightingFunction= ruleWeightingFunction EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1668:2: iv_ruleWeightingFunction= ruleWeightingFunction EOF
             {
-             newCompositeNode(grammarAccess.getMetricValueRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleMetricValue_in_entryRuleMetricValue6822);
-            iv_ruleMetricValue=ruleMetricValue();
+             newCompositeNode(grammarAccess.getWeightingFunctionRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction3703);
+            iv_ruleWeightingFunction=ruleWeightingFunction();
 
             state._fsp--;
 
-             current =iv_ruleMetricValue; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMetricValue6832); 
+             current =iv_ruleWeightingFunction; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightingFunction3713); 
 
             }
 
@@ -7183,102 +3968,55 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "entryRuleMetricValue"
+    // $ANTLR end "entryRuleWeightingFunction"
 
 
-    // $ANTLR start "ruleMetricValue"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3182: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 {
+    // $ANTLR start "ruleWeightingFunction"
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1675:1: ruleWeightingFunction returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) ) (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )* otherlv_5= '}' ) ;
+    public final EObject ruleWeightingFunction() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_0=null;
-        Token otherlv_2=null;
+        Token otherlv_1=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_0_0 = null;
 
-        AntlrDatatypeRuleToken lv_name_4_0 = null;
+        EObject lv_weightedMetrics_2_0 = null;
 
-        AntlrDatatypeRuleToken lv_value_6_0 = null;
+        EObject lv_weightedMetrics_4_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3185: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3186: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3186: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3186: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1678:28: ( ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) ) (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )* otherlv_5= '}' ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1679:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) ) (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )* otherlv_5= '}' )
             {
-            otherlv_0=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleMetricValue6869); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getMetricValueAccess().getMetricValueKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3190:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3191:1: (lv_id_1_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1679:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) ) (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )* otherlv_5= '}' )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1679:2: ( (lv_name_0_0= ruleEString ) ) otherlv_1= '{' ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) ) (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )* otherlv_5= '}'
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3191:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3192:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getMetricValueAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue6890);
-            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_ruleMetricValue6902); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getMetricValueAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleMetricValue6914); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getMetricValueAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3216:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3217:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1679:2: ( (lv_name_0_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1680:1: (lv_name_0_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3217:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3218:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1680:1: (lv_name_0_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1681:3: lv_name_0_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getMetricValueAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getNameEStringParserRuleCall_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue6935);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightingFunction3759);
+            lv_name_0_0=ruleEString();
 
             state._fsp--;
 
 
             	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getMetricValueRule());
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
             	        }
                    		set(
                    			current, 
                    			"name",
-                    		lv_name_4_0, 
+                    		lv_name_0_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -7288,33 +4026,33 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_5=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleMetricValue6947); 
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleWeightingFunction3771); 
 
-                	newLeafNode(otherlv_5, grammarAccess.getMetricValueAccess().getValueKeyword_5());
+                	newLeafNode(otherlv_1, grammarAccess.getWeightingFunctionAccess().getLeftCurlyBracketKeyword_1());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3238:1: ( (lv_value_6_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3239:1: (lv_value_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1701:1: ( (lv_weightedMetrics_2_0= ruleWeightedMetric ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1702:1: (lv_weightedMetrics_2_0= ruleWeightedMetric )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3239:1: (lv_value_6_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3240:3: lv_value_6_0= ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1702:1: (lv_weightedMetrics_2_0= ruleWeightedMetric )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1703:3: lv_weightedMetrics_2_0= ruleWeightedMetric
             {
              
-            	        newCompositeNode(grammarAccess.getMetricValueAccess().getValueEDoubleParserRuleCall_6_0()); 
+            	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_2_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleMetricValue6968);
-            lv_value_6_0=ruleEDouble();
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction3792);
+            lv_weightedMetrics_2_0=ruleWeightedMetric();
 
             state._fsp--;
 
 
             	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getMetricValueRule());
+            	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
             	        }
-                   		set(
+                   		add(
                    			current, 
-                   			"value",
-                    		lv_value_6_0, 
-                    		"EDouble");
+                   			"weightedMetrics",
+                    		lv_weightedMetrics_2_0, 
+                    		"WeightedMetric");
             	        afterParserOrEnumRuleCall();
             	    
 
@@ -7323,73 +4061,68 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_7=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleMetricValue6980); 
-
-                	newLeafNode(otherlv_7, grammarAccess.getMetricValueAccess().getMeasuredEntityKeyword_7());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3260:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3261:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3261:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3262:3: ruleEString
-            {
-
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getMetricValueRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getMetricValueAccess().getMeasuredEntityMeasuredEntityCrossReference_8_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7003);
-            ruleEString();
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1719:2: (otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) ) )*
+            loop23:
+            do {
+                int alt23=2;
+                int LA23_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA23_0==16) ) {
+                    alt23=1;
+                }
 
-             
-            	        afterParserOrEnumRuleCall();
-            	    
 
-            }
+                switch (alt23) {
+            	case 1 :
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1719:4: otherlv_3= ',' ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) )
+            	    {
+            	    otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightingFunction3805); 
 
+            	        	newLeafNode(otherlv_3, grammarAccess.getWeightingFunctionAccess().getCommaKeyword_3_0());
+            	        
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1723:1: ( (lv_weightedMetrics_4_0= ruleWeightedMetric ) )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1724:1: (lv_weightedMetrics_4_0= ruleWeightedMetric )
+            	    {
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1724:1: (lv_weightedMetrics_4_0= ruleWeightedMetric )
+            	    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1725:3: lv_weightedMetrics_4_0= ruleWeightedMetric
+            	    {
+            	     
+            	    	        newCompositeNode(grammarAccess.getWeightingFunctionAccess().getWeightedMetricsWeightedMetricParserRuleCall_3_1_0()); 
+            	    	    
+            	    pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction3826);
+            	    lv_weightedMetrics_4_0=ruleWeightedMetric();
 
-            }
+            	    state._fsp--;
 
-            otherlv_9=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleMetricValue7015); 
 
-                	newLeafNode(otherlv_9, grammarAccess.getMetricValueAccess().getMetricTypeKeyword_9());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3279:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3280:1: ( ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3280:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3281:3: ruleEString
-            {
+            	    	        if (current==null) {
+            	    	            current = createModelElementForParent(grammarAccess.getWeightingFunctionRule());
+            	    	        }
+            	           		add(
+            	           			current, 
+            	           			"weightedMetrics",
+            	            		lv_weightedMetrics_4_0, 
+            	            		"WeightedMetric");
+            	    	        afterParserOrEnumRuleCall();
+            	    	    
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getMetricValueRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getMetricValueAccess().getMetricTypeMetricTypeCrossReference_10_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleMetricValue7038);
-            ruleEString();
+            	    }
 
-            state._fsp--;
 
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            	    }
 
-            }
 
+            	    }
+            	    break;
 
-            }
+            	default :
+            	    break loop23;
+                }
+            } while (true);
 
-            otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleMetricValue7050); 
+            otherlv_5=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleWeightingFunction3840); 
 
-                	newLeafNode(otherlv_11, grammarAccess.getMetricValueAccess().getRightCurlyBracketKeyword_11());
+                	newLeafNode(otherlv_5, grammarAccess.getWeightingFunctionAccess().getRightCurlyBracketKeyword_4());
                 
 
             }
@@ -7408,11 +4141,11 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         }
         return current;
     }
-    // $ANTLR end "ruleMetricValue"
+    // $ANTLR end "ruleWeightingFunction"
 
 
     // $ANTLR start "entryRuleWeightedMetric"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3310:1: entryRuleWeightedMetric returns [EObject current=null] : iv_ruleWeightedMetric= ruleWeightedMetric EOF ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1765:1: entryRuleWeightedMetric returns [EObject current=null] : iv_ruleWeightedMetric= ruleWeightedMetric EOF ;
     public final EObject entryRuleWeightedMetric() throws RecognitionException {
         EObject current = null;
 
@@ -7420,17 +4153,17 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3311:2: (iv_ruleWeightedMetric= ruleWeightedMetric EOF )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3312:2: iv_ruleWeightedMetric= ruleWeightedMetric EOF
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1766:2: (iv_ruleWeightedMetric= ruleWeightedMetric EOF )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1767:2: iv_ruleWeightedMetric= ruleWeightedMetric EOF
             {
              newCompositeNode(grammarAccess.getWeightedMetricRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric7090);
+            pushFollow(FollowSets000.FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric3888);
             iv_ruleWeightedMetric=ruleWeightedMetric();
 
             state._fsp--;
 
              current =iv_ruleWeightedMetric; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric7100); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWeightedMetric3898); 
 
             }
 
@@ -7448,86 +4181,38 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
 
     // $ANTLR start "ruleWeightedMetric"
-    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3319: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= '}' ) ;
+    // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1774:1: ruleWeightedMetric returns [EObject current=null] : ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( (lv_weight_2_0= ruleEDouble ) ) otherlv_3= 'ref' otherlv_4= ':' ( ( ruleEString ) ) ) ;
     public final EObject ruleWeightedMetric() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_0=null;
-        Token otherlv_2=null;
+        Token otherlv_1=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;
+        Token otherlv_4=null;
+        AntlrDatatypeRuleToken lv_name_0_0 = null;
 
-        AntlrDatatypeRuleToken lv_weight_6_0 = null;
+        AntlrDatatypeRuleToken lv_weight_2_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3322: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3323: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1777:28: ( ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( (lv_weight_2_0= ruleEDouble ) ) otherlv_3= 'ref' otherlv_4= ':' ( ( ruleEString ) ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1778:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( (lv_weight_2_0= ruleEDouble ) ) otherlv_3= 'ref' otherlv_4= ':' ( ( ruleEString ) ) )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3323: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/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3323: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= '}'
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1778:1: ( ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( (lv_weight_2_0= ruleEDouble ) ) otherlv_3= 'ref' otherlv_4= ':' ( ( ruleEString ) ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1778:2: ( (lv_name_0_0= ruleEString ) ) otherlv_1= '=' ( (lv_weight_2_0= ruleEDouble ) ) otherlv_3= 'ref' otherlv_4= ':' ( ( ruleEString ) )
             {
-            otherlv_0=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleWeightedMetric7137); 
-
-                	newLeafNode(otherlv_0, grammarAccess.getWeightedMetricAccess().getWeightedMetricKeyword_0());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3327:1: ( (lv_id_1_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3328:1: (lv_id_1_0= ruleEString )
-            {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3328:1: (lv_id_1_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3329:3: lv_id_1_0= ruleEString
-            {
-             
-            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getIdEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7158);
-            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_ruleWeightedMetric7170); 
-
-                	newLeafNode(otherlv_2, grammarAccess.getWeightedMetricAccess().getLeftCurlyBracketKeyword_2());
-                
-            otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleWeightedMetric7182); 
-
-                	newLeafNode(otherlv_3, grammarAccess.getWeightedMetricAccess().getNameKeyword_3());
-                
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3353:1: ( (lv_name_4_0= ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3354:1: (lv_name_4_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1778:2: ( (lv_name_0_0= ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1779:1: (lv_name_0_0= ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3354:1: (lv_name_4_0= ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3355:3: lv_name_4_0= ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1779:1: (lv_name_0_0= ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1780:3: lv_name_0_0= ruleEString
             {
              
-            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_4_0()); 
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getNameEStringParserRuleCall_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7203);
-            lv_name_4_0=ruleEString();
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric3944);
+            lv_name_0_0=ruleEString();
 
             state._fsp--;
 
@@ -7538,7 +4223,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		set(
                    			current, 
                    			"name",
-                    		lv_name_4_0, 
+                    		lv_name_0_0, 
                     		"EString");
             	        afterParserOrEnumRuleCall();
             	    
@@ -7548,21 +4233,21 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_5=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleWeightedMetric7215); 
+            otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleWeightedMetric3956); 
 
-                	newLeafNode(otherlv_5, grammarAccess.getWeightedMetricAccess().getWeightKeyword_5());
+                	newLeafNode(otherlv_1, grammarAccess.getWeightedMetricAccess().getEqualsSignKeyword_1());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3375:1: ( (lv_weight_6_0= ruleEDouble ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3376:1: (lv_weight_6_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1800:1: ( (lv_weight_2_0= ruleEDouble ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1801:1: (lv_weight_2_0= ruleEDouble )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3376:1: (lv_weight_6_0= ruleEDouble )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3377:3: lv_weight_6_0= ruleEDouble
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1801:1: (lv_weight_2_0= ruleEDouble )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1802:3: lv_weight_2_0= ruleEDouble
             {
              
-            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_6_0()); 
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getWeightEDoubleParserRuleCall_2_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedMetric7236);
-            lv_weight_6_0=ruleEDouble();
+            pushFollow(FollowSets000.FOLLOW_ruleEDouble_in_ruleWeightedMetric3977);
+            lv_weight_2_0=ruleEDouble();
 
             state._fsp--;
 
@@ -7573,7 +4258,7 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
                    		set(
                    			current, 
                    			"weight",
-                    		lv_weight_6_0, 
+                    		lv_weight_2_0, 
                     		"EDouble");
             	        afterParserOrEnumRuleCall();
             	    
@@ -7583,15 +4268,19 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_7=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleWeightedMetric7248); 
+            otherlv_3=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleWeightedMetric3989); 
 
-                	newLeafNode(otherlv_7, grammarAccess.getWeightedMetricAccess().getMetricTypeKeyword_7());
+                	newLeafNode(otherlv_3, grammarAccess.getWeightedMetricAccess().getRefKeyword_3());
                 
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3397:1: ( ( ruleEString ) )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3398:1: ( ruleEString )
+            otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleWeightedMetric4001); 
+
+                	newLeafNode(otherlv_4, grammarAccess.getWeightedMetricAccess().getColonKeyword_4());
+                
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1826:1: ( ( ruleEString ) )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1827:1: ( ruleEString )
             {
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3398:1: ( ruleEString )
-            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:3399:3: ruleEString
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1827:1: ( ruleEString )
+            // ../edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/parser/antlr/internal/InternalStaAdaptationLanguage.g:1828:3: ruleEString
             {
 
             			if (current==null) {
@@ -7599,9 +4288,9 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
             	        }
                     
              
-            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_8_0()); 
+            	        newCompositeNode(grammarAccess.getWeightedMetricAccess().getMetricTypeMetricTypeCrossReference_5_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric7271);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleWeightedMetric4024);
             ruleEString();
 
             state._fsp--;
@@ -7615,10 +4304,6 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
 
             }
 
-            otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleWeightedMetric7283); 
-
-                	newLeafNode(otherlv_9, grammarAccess.getWeightedMetricAccess().getRightCurlyBracketKeyword_9());
-                
 
             }
 
@@ -7650,369 +4335,186 @@ public class InternalStaAdaptationLanguageParser extends AbstractInternalAntlrPa
         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[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleOverallGoal_in_ruleAdaptationProcess596 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement646 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractControlFlowElement656 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement703 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement757 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement811 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleVariationType_in_entryRuleVariationType846 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleVariationType856 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePropertyRange_in_ruleVariationType903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_ruleVariationType930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString966 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_ruleEString1043 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTactic_in_entryRuleTactic1088 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTactic1098 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_ruleTactic1135 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1156 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleTactic1168 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleTactic1180 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1201 = new BitSet(new long[]{0x0000000006400000L});
-        public static final BitSet FOLLOW_22_in_ruleTactic1214 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_23_in_ruleTactic1226 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1249 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_15_in_ruleTactic1262 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1285 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_24_in_ruleTactic1299 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_25_in_ruleTactic1314 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1337 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_26_in_ruleTactic1351 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleTactic1372 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleTactic1384 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAction_in_entryRuleAction1420 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAction1430 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_27_in_ruleAction1467 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1488 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAction1500 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAction1512 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1533 = new BitSet(new long[]{0x0000000012400000L});
-        public static final BitSet FOLLOW_25_in_ruleAction1546 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1569 = new BitSet(new long[]{0x0000000010400000L});
-        public static final BitSet FOLLOW_22_in_ruleAction1584 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_23_in_ruleAction1596 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1619 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_15_in_ruleAction1632 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1655 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_24_in_ruleAction1669 = new BitSet(new long[]{0x0000000010000000L});
-        public static final BitSet FOLLOW_28_in_ruleAction1683 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAction1706 = new BitSet(new long[]{0x0000000020000000L});
-        public static final BitSet FOLLOW_29_in_ruleAction1718 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_ruleAction1739 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAction1751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStrategy_in_entryRuleStrategy1787 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStrategy1797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_ruleStrategy1834 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1855 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStrategy1867 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleStrategy1879 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1900 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_31_in_ruleStrategy1912 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1935 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_32_in_ruleStrategy1947 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
-        public static final BitSet FOLLOW_ruleEvent_in_ruleStrategy1968 = new BitSet(new long[]{0x0000000000004000L});
-        public static final BitSet FOLLOW_14_in_ruleStrategy1980 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStrategy1992 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy2013 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleStrategy2026 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy2047 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleStrategy2061 = new BitSet(new long[]{0x0000000200000000L});
-        public static final BitSet FOLLOW_33_in_ruleStrategy2073 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
-        public static final BitSet FOLLOW_ruleWeightingFunction_in_ruleStrategy2094 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleStrategy2106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter2142 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParameter2152 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_34_in_ruleParameter2189 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2210 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleParameter2222 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_35_in_ruleParameter2234 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2255 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleParameter2267 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2303 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleOverallGoal2313 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_ruleOverallGoal2350 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleOverallGoal2362 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_37_in_ruleOverallGoal2374 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleOverallGoal2395 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_38_in_ruleOverallGoal2407 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleOverallGoal2419 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2440 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleOverallGoal2453 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L});
-        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2474 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleOverallGoal2488 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleOverallGoal2500 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2536 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan2546 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_ruleAdaptationPlan2583 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationPlan2604 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAdaptationPlan2616 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAdaptationPlan2628 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAdaptationPlan2649 = new BitSet(new long[]{0x0000010000010000L});
-        public static final BitSet FOLLOW_40_in_ruleAdaptationPlan2662 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAdaptationPlan2674 = new BitSet(new long[]{0x0021320000000000L});
-        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2695 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleAdaptationPlan2708 = new BitSet(new long[]{0x0021320000000000L});
-        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2729 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2743 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2757 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction2793 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction2803 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_ruleStartAction2849 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction2870 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStartAction2882 = new BitSet(new long[]{0x00000C0000010000L});
-        public static final BitSet FOLLOW_42_in_ruleStartAction2895 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction2918 = new BitSet(new long[]{0x0000080000010000L});
-        public static final BitSet FOLLOW_43_in_ruleStartAction2933 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStartAction2956 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleStartAction2970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction3006 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction3016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_ruleStopAction3062 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3083 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleStopAction3095 = new BitSet(new long[]{0x00000C0000010000L});
-        public static final BitSet FOLLOW_42_in_ruleStopAction3108 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3131 = new BitSet(new long[]{0x0000080000010000L});
-        public static final BitSet FOLLOW_43_in_ruleStopAction3146 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleStopAction3169 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleStopAction3183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction3219 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction3229 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_ruleLoopAction3266 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3287 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleLoopAction3299 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_46_in_ruleLoopAction3311 = new BitSet(new long[]{0x0080000000000040L});
-        public static final BitSet FOLLOW_ruleEInt_in_ruleLoopAction3332 = new BitSet(new long[]{0x00008C0000000000L});
-        public static final BitSet FOLLOW_42_in_ruleLoopAction3345 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3368 = new BitSet(new long[]{0x0000880000000000L});
-        public static final BitSet FOLLOW_43_in_ruleLoopAction3383 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction3406 = new BitSet(new long[]{0x0000800000000000L});
-        public static final BitSet FOLLOW_47_in_ruleLoopAction3420 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleLoopAction3441 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleLoopAction3453 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction3489 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction3499 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_ruleBranchAction3536 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3557 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleBranchAction3569 = new BitSet(new long[]{0x000E0C0000000000L});
-        public static final BitSet FOLLOW_49_in_ruleBranchAction3582 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3603 = new BitSet(new long[]{0x000C0C0000000000L});
-        public static final BitSet FOLLOW_42_in_ruleBranchAction3618 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3641 = new BitSet(new long[]{0x000C080000000000L});
-        public static final BitSet FOLLOW_43_in_ruleBranchAction3656 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3679 = new BitSet(new long[]{0x000C000000000000L});
-        public static final BitSet FOLLOW_50_in_ruleBranchAction3694 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction3717 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_51_in_ruleBranchAction3731 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3752 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_52_in_ruleBranchAction3764 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleBranchAction3785 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBranchAction3797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference3833 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference3843 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_ruleActionReference3880 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference3901 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleActionReference3913 = new BitSet(new long[]{0x00400C0000000000L});
-        public static final BitSet FOLLOW_42_in_ruleActionReference3926 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference3949 = new BitSet(new long[]{0x0040080000000000L});
-        public static final BitSet FOLLOW_43_in_ruleActionReference3964 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference3987 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_54_in_ruleActionReference4001 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleActionReference4024 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleActionReference4036 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEInt_in_entryRuleEInt4073 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEInt4084 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleEInt4123 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEInt4140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation4185 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationActionOperation4195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_ruleAdaptationActionOperation4232 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAdaptationActionOperation4244 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleAdaptationActionOperation4256 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
-        public static final BitSet FOLLOW_ruleAdaptationScope_in_ruleAdaptationActionOperation4277 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleAdaptationActionOperation4289 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_ruleAdaptationDirection_in_ruleAdaptationActionOperation4310 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleAdaptationActionOperation4322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelVariableConfigurationRange_in_entryRuleModelVariableConfigurationRange4358 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleModelVariableConfigurationRange4368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_ruleModelVariableConfigurationRange4405 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4426 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleModelVariableConfigurationRange4438 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleModelVariableConfigurationRange4450 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4471 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleModelVariableConfigurationRange4483 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4504 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleModelVariableConfigurationRange4516 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleModelVariableConfigurationRange4537 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleModelVariableConfigurationRange4549 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelVariableConfigurationRange4572 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleModelVariableConfigurationRange4584 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelEntityConfigurationRange_in_entryRuleModelEntityConfigurationRange4620 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleModelEntityConfigurationRange4630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleModelEntityConfigurationRange4667 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4688 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleModelEntityConfigurationRange4700 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleModelEntityConfigurationRange4712 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4733 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleModelEntityConfigurationRange4745 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleModelEntityConfigurationRange4768 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_64_in_ruleModelEntityConfigurationRange4780 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000090L});
-        public static final BitSet FOLLOW_ruleVariationType_in_ruleModelEntityConfigurationRange4801 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleModelEntityConfigurationRange4813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble4850 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble4861 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleEDouble4900 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble4918 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_ruleEDouble4938 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble4953 = new BitSet(new long[]{0x0000000000000002L,0x000000000000000CL});
-        public static final BitSet FOLLOW_66_in_ruleEDouble4973 = new BitSet(new long[]{0x0080000000000040L});
-        public static final BitSet FOLLOW_67_in_ruleEDouble4992 = new BitSet(new long[]{0x0080000000000040L});
-        public static final BitSet FOLLOW_55_in_ruleEDouble5007 = new BitSet(new long[]{0x0000000000000040L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble5024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePropertyRange_in_entryRulePropertyRange5071 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePropertyRange5081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_68_in_rulePropertyRange5118 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePropertyRange5130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_69_in_rulePropertyRange5142 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_rulePropertyRange5163 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_70_in_rulePropertyRange5175 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_rulePropertyRange5196 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_rulePropertyRange5208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations5244 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSetOfConfigurations5254 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_71_in_ruleSetOfConfigurations5291 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSetOfConfigurations5303 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
-        public static final BitSet FOLLOW_72_in_ruleSetOfConfigurations5316 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_23_in_ruleSetOfConfigurations5328 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSetOfConfigurations5351 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_15_in_ruleSetOfConfigurations5364 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSetOfConfigurations5387 = new BitSet(new long[]{0x0000000001008000L});
-        public static final BitSet FOLLOW_24_in_ruleSetOfConfigurations5401 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
-        public static final BitSet FOLLOW_73_in_ruleSetOfConfigurations5415 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_ruleSetOfConfigurations5436 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSetOfConfigurations5448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOclConstraint_in_entryRuleOclConstraint5484 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleOclConstraint5494 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_74_in_ruleOclConstraint5531 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleOclConstraint5552 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleOclConstraint5564 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
-        public static final BitSet FOLLOW_75_in_ruleOclConstraint5576 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleOclConstraint5597 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleOclConstraint5609 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationScope_in_entryRuleAdaptationScope5646 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationScope5657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_76_in_ruleAdaptationScope5694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAdaptationDirection_in_entryRuleAdaptationDirection5734 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationDirection5745 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_77_in_ruleAdaptationDirection5782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleObjective_in_entryRuleObjective5821 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleObjective5831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_78_in_ruleObjective5868 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleObjective5889 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleObjective5901 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleObjective5913 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleObjective5934 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
-        public static final BitSet FOLLOW_79_in_ruleObjective5946 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleObjective5967 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleObjective5979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEvent_in_entryRuleEvent6015 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEvent6025 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_ruleEvent6062 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleEvent6083 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleEvent6095 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleEvent6107 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleEvent6128 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleEvent6140 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic6176 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedTactic6186 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_ruleWeightedTactic6223 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6244 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleWeightedTactic6256 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleWeightedTactic6268 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6289 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_82_in_ruleWeightedTactic6301 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic6322 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
-        public static final BitSet FOLLOW_83_in_ruleWeightedTactic6334 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic6355 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
-        public static final BitSet FOLLOW_84_in_ruleWeightedTactic6367 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6390 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L});
-        public static final BitSet FOLLOW_85_in_ruleWeightedTactic6403 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic6426 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleWeightedTactic6440 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction6476 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleWeightingFunction6486 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_ruleWeightingFunction6523 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction6544 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleWeightingFunction6556 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleWeightingFunction6568 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction6589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
-        public static final BitSet FOLLOW_87_in_ruleWeightingFunction6601 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleWeightingFunction6613 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6634 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_15_in_ruleWeightingFunction6647 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction6668 = new BitSet(new long[]{0x0000000000018000L});
-        public static final BitSet FOLLOW_16_in_ruleWeightingFunction6682 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleWeightingFunction6694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDate_in_entryRuleEDate6735 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEDate6746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_88_in_ruleEDate6783 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMetricValue_in_entryRuleMetricValue6822 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleMetricValue6832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_89_in_ruleMetricValue6869 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue6890 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleMetricValue6902 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleMetricValue6914 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue6935 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
-        public static final BitSet FOLLOW_90_in_ruleMetricValue6947 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleMetricValue6968 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L});
-        public static final BitSet FOLLOW_91_in_ruleMetricValue6980 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7003 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
-        public static final BitSet FOLLOW_92_in_ruleMetricValue7015 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleMetricValue7038 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleMetricValue7050 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric7090 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric7100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_93_in_ruleWeightedMetric7137 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7158 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleWeightedMetric7170 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleWeightedMetric7182 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7203 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
-        public static final BitSet FOLLOW_94_in_ruleWeightedMetric7215 = new BitSet(new long[]{0x0080000000000040L,0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedMetric7236 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
-        public static final BitSet FOLLOW_92_in_ruleWeightedMetric7248 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric7271 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleWeightedMetric7283 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_ruleAdaptationProcess167 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_ruleAdaptationProcess188 = new BitSet(new long[]{0x0000000000004000L});
+        public static final BitSet FOLLOW_14_in_ruleAdaptationProcess200 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess212 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_ruleAction_in_ruleAdaptationProcess233 = new BitSet(new long[]{0x0000000000030000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess246 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_ruleAction_in_ruleAdaptationProcess267 = new BitSet(new long[]{0x0000000000030000L});
+        public static final BitSet FOLLOW_17_in_ruleAdaptationProcess281 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess293 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_ruleTactic_in_ruleAdaptationProcess314 = new BitSet(new long[]{0x0000000000050000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess327 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_ruleTactic_in_ruleAdaptationProcess348 = new BitSet(new long[]{0x0000000000050000L});
+        public static final BitSet FOLLOW_18_in_ruleAdaptationProcess362 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess374 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_ruleStrategy_in_ruleAdaptationProcess395 = new BitSet(new long[]{0x0000000000190000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess408 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_ruleStrategy_in_ruleAdaptationProcess429 = new BitSet(new long[]{0x0000000000190000L});
+        public static final BitSet FOLLOW_19_in_ruleAdaptationProcess444 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAdaptationProcess456 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleAdaptationProcess477 = new BitSet(new long[]{0x0000000000110000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationProcess490 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleAdaptationProcess511 = new BitSet(new long[]{0x0000000000110000L});
+        public static final BitSet FOLLOW_20_in_ruleAdaptationProcess527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_entryRuleAbstractControlFlowElement565 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAbstractControlFlowElement575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_ruleAbstractControlFlowElement622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_ruleAbstractControlFlowElement649 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_ruleAbstractControlFlowElement676 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_ruleAbstractControlFlowElement703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_ruleAbstractControlFlowElement730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString768 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString779 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleEString845 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTactic_in_entryRuleTactic890 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTactic900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_ruleTactic937 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic958 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleTactic970 = new BitSet(new long[]{0x0000000001C00000L});
+        public static final BitSet FOLLOW_22_in_ruleTactic983 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleTactic995 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1018 = new BitSet(new long[]{0x0000000001810000L});
+        public static final BitSet FOLLOW_16_in_ruleTactic1031 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1054 = new BitSet(new long[]{0x0000000001810000L});
+        public static final BitSet FOLLOW_23_in_ruleTactic1071 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleTactic1083 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleTactic1106 = new BitSet(new long[]{0x0000000001000000L});
+        public static final BitSet FOLLOW_24_in_ruleTactic1120 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleTactic1132 = new BitSet(new long[]{0x0000000800000000L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_ruleTactic1153 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_20_in_ruleTactic1165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAction_in_entryRuleAction1201 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAction1211 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_ruleAction1248 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1269 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAction1281 = new BitSet(new long[]{0x0000000004C00000L});
+        public static final BitSet FOLLOW_22_in_ruleAction1294 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAction1306 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1329 = new BitSet(new long[]{0x0000000004810000L});
+        public static final BitSet FOLLOW_16_in_ruleAction1342 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1365 = new BitSet(new long[]{0x0000000004810000L});
+        public static final BitSet FOLLOW_23_in_ruleAction1382 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAction1394 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1417 = new BitSet(new long[]{0x0000000004000000L});
+        public static final BitSet FOLLOW_26_in_ruleAction1431 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAction1443 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAction1466 = new BitSet(new long[]{0x0000000008000000L});
+        public static final BitSet FOLLOW_27_in_ruleAction1478 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAction1490 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_ruleAction1511 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_20_in_ruleAction1523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStrategy_in_entryRuleStrategy1559 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStrategy1569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_ruleStrategy1606 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1627 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleStrategy1639 = new BitSet(new long[]{0x0000000020000000L});
+        public static final BitSet FOLLOW_29_in_ruleStrategy1651 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleStrategy1663 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleStrategy1686 = new BitSet(new long[]{0x0000000080000000L});
+        public static final BitSet FOLLOW_31_in_ruleStrategy1698 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleStrategy1710 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEvent_in_ruleStrategy1731 = new BitSet(new long[]{0x0000000000020000L});
+        public static final BitSet FOLLOW_17_in_ruleStrategy1743 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleStrategy1755 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy1776 = new BitSet(new long[]{0x0000000100010000L});
+        public static final BitSet FOLLOW_16_in_ruleStrategy1789 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_ruleStrategy1810 = new BitSet(new long[]{0x0000000100010000L});
+        public static final BitSet FOLLOW_32_in_ruleStrategy1824 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleStrategy1836 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_ruleStrategy1857 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_20_in_ruleStrategy1869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter1905 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter1915 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter1961 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter1982 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOverallGoal_in_entryRuleOverallGoal2018 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOverallGoal2028 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_ruleOverallGoal2065 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleOverallGoal2077 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleOverallGoal2098 = new BitSet(new long[]{0x0000000400000000L});
+        public static final BitSet FOLLOW_34_in_ruleOverallGoal2110 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleOverallGoal2122 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2143 = new BitSet(new long[]{0x0000000000010002L});
+        public static final BitSet FOLLOW_16_in_ruleOverallGoal2156 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_ruleObjective_in_ruleOverallGoal2177 = new BitSet(new long[]{0x0000000000010002L});
+        public static final BitSet FOLLOW_ruleAdaptationPlan_in_entryRuleAdaptationPlan2215 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationPlan2225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_ruleAdaptationPlan2271 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2284 = new BitSet(new long[]{0x000000F800000000L});
+        public static final BitSet FOLLOW_ruleAbstractControlFlowElement_in_ruleAdaptationPlan2305 = new BitSet(new long[]{0x0000000000010000L});
+        public static final BitSet FOLLOW_16_in_ruleAdaptationPlan2319 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_ruleStopAction_in_ruleAdaptationPlan2340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction2376 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStartAction2386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_ruleStartAction2432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction2468 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStopAction2478 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_ruleStopAction2514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction2549 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction2559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_ruleLoopAction2595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction2630 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction2640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_ruleBranchAction2676 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleActionReference_in_entryRuleActionReference2711 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleActionReference2721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_ruleActionReference2757 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAdaptationActionOperation_in_entryRuleAdaptationActionOperation2794 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAdaptationActionOperation2804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_ruleAdaptationActionOperation2840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEDouble_in_entryRuleEDouble2880 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEDouble2891 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_ruleEDouble2930 = new BitSet(new long[]{0x0000040000000040L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble2948 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_42_in_ruleEDouble2968 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble2983 = new BitSet(new long[]{0x0000180000000002L});
+        public static final BitSet FOLLOW_43_in_ruleEDouble3003 = new BitSet(new long[]{0x0000020000000040L});
+        public static final BitSet FOLLOW_44_in_ruleEDouble3022 = new BitSet(new long[]{0x0000020000000040L});
+        public static final BitSet FOLLOW_41_in_ruleEDouble3037 = new BitSet(new long[]{0x0000000000000040L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleEDouble3054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePropertyRange_in_entryRulePropertyRange3101 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePropertyRange3111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rulePropertyRange3147 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSetOfConfigurations_in_entryRuleSetOfConfigurations3182 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSetOfConfigurations3192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_ruleSetOfConfigurations3228 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleObjective_in_entryRuleObjective3269 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleObjective3279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleObjective3316 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleObjective3337 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleObjective3349 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleObjective3370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEvent_in_entryRuleEvent3406 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEvent3416 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleEvent3461 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedTactic_in_entryRuleWeightedTactic3496 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedTactic3506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic3552 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleWeightedTactic3564 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic3587 = new BitSet(new long[]{0x0000060000000040L});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic3608 = new BitSet(new long[]{0x0000060000000040L});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedTactic3629 = new BitSet(new long[]{0x0001000000000002L});
+        public static final BitSet FOLLOW_48_in_ruleWeightedTactic3642 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedTactic3665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightingFunction_in_entryRuleWeightingFunction3703 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightingFunction3713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightingFunction3759 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleWeightingFunction3771 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction3792 = new BitSet(new long[]{0x0000000000110000L});
+        public static final BitSet FOLLOW_16_in_ruleWeightingFunction3805 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_ruleWeightingFunction3826 = new BitSet(new long[]{0x0000000000110000L});
+        public static final BitSet FOLLOW_20_in_ruleWeightingFunction3840 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWeightedMetric_in_entryRuleWeightedMetric3888 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWeightedMetric3898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric3944 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleWeightedMetric3956 = new BitSet(new long[]{0x0000060000000040L});
+        public static final BitSet FOLLOW_ruleEDouble_in_ruleWeightedMetric3977 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_49_in_ruleWeightedMetric3989 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleWeightedMetric4001 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleWeightedMetric4024 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/services/StaAdaptationLanguageGrammarAccess.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/services/StaAdaptationLanguageGrammarAccess.java
index d47018ddeb860fa2caf8b5c25b59d8a96976852b..00ef38b76fe58ae4a2876ba4d35f76b2ac656fa8 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/services/StaAdaptationLanguageGrammarAccess.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/services/StaAdaptationLanguageGrammarAccess.java
@@ -1,7 +1,6 @@
 /*
 * generated by Xtext
 */
-
 package edu.kit.ipd.descartes.mm.adaptation.services;
 
 import com.google.inject.Singleton;
@@ -23,230 +22,196 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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 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 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 Keyword cGoalKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Assignment cGoalAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cGoalOverallGoalParserRuleCall_4_0 = (RuleCall)cGoalAssignment_4.eContents().get(0);
+		private final Keyword cActionsKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cColonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cActionsAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cActionsActionParserRuleCall_7_0 = (RuleCall)cActionsAssignment_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 Keyword cRightCurlyBracketKeyword_23 = (Keyword)cGroup.eContents().get(23);
+		private final Assignment cActionsAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
+		private final RuleCall cActionsActionParserRuleCall_8_1_0 = (RuleCall)cActionsAssignment_8_1.eContents().get(0);
+		private final Keyword cTacticsKeyword_9 = (Keyword)cGroup.eContents().get(9);
+		private final Keyword cColonKeyword_10 = (Keyword)cGroup.eContents().get(10);
+		private final Assignment cTacticsAssignment_11 = (Assignment)cGroup.eContents().get(11);
+		private final RuleCall cTacticsTacticParserRuleCall_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 cTacticsTacticParserRuleCall_12_1_0 = (RuleCall)cTacticsAssignment_12_1.eContents().get(0);
+		private final Keyword cStrategiesKeyword_13 = (Keyword)cGroup.eContents().get(13);
+		private final Keyword cColonKeyword_14 = (Keyword)cGroup.eContents().get(14);
+		private final Assignment cStrategiesAssignment_15 = (Assignment)cGroup.eContents().get(15);
+		private final RuleCall cStrategiesStrategyParserRuleCall_15_0 = (RuleCall)cStrategiesAssignment_15.eContents().get(0);
+		private final Group cGroup_16 = (Group)cGroup.eContents().get(16);
+		private final Keyword cCommaKeyword_16_0 = (Keyword)cGroup_16.eContents().get(0);
+		private final Assignment cStrategiesAssignment_16_1 = (Assignment)cGroup_16.eContents().get(1);
+		private final RuleCall cStrategiesStrategyParserRuleCall_16_1_0 = (RuleCall)cStrategiesAssignment_16_1.eContents().get(0);
+		private final Group cGroup_17 = (Group)cGroup.eContents().get(17);
+		private final Keyword cParametersKeyword_17_0 = (Keyword)cGroup_17.eContents().get(0);
+		private final Keyword cColonKeyword_17_1 = (Keyword)cGroup_17.eContents().get(1);
+		private final Assignment cParametersAssignment_17_2 = (Assignment)cGroup_17.eContents().get(2);
+		private final RuleCall cParametersParameterParserRuleCall_17_2_0 = (RuleCall)cParametersAssignment_17_2.eContents().get(0);
+		private final Group cGroup_17_3 = (Group)cGroup_17.eContents().get(3);
+		private final Keyword cCommaKeyword_17_3_0 = (Keyword)cGroup_17_3.eContents().get(0);
+		private final Assignment cParametersAssignment_17_3_1 = (Assignment)cGroup_17_3.eContents().get(1);
+		private final RuleCall cParametersParameterParserRuleCall_17_3_1_0 = (RuleCall)cParametersAssignment_17_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_18 = (Keyword)cGroup.eContents().get(18);
 		
 		//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 "}";
+		//	"AdaptationProcess" name=EString //id=EString
+		//	"{" "goal" goal=OverallGoal "actions" ":" actions+=Action ("," actions+=Action)* "tactics" ":" tactics+=Tactic (","
+		//	tactics+=Tactic)* "strategies" ":" strategies+=Strategy ("," strategies+=Strategy)* ("parameters" ":"
+		//	parameters+=Parameter ("," parameters+=Parameter)*)? "}";
 		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 "}"
+		//"AdaptationProcess" name=EString //id=EString
+		//"{" "goal" goal=OverallGoal "actions" ":" actions+=Action ("," actions+=Action)* "tactics" ":" tactics+=Tactic (","
+		//tactics+=Tactic)* "strategies" ":" strategies+=Strategy ("," strategies+=Strategy)* ("parameters" ":"
+		//parameters+=Parameter ("," parameters+=Parameter)*)? "}"
 		public Group getGroup() { return cGroup; }
 
 		//"AdaptationProcess"
 		public Keyword getAdaptationProcessKeyword_0() { return cAdaptationProcessKeyword_0; }
 
-		//id=EString
-		public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
 
+		////id=EString
 		//"{"
 		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
 
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+		//"goal"
+		public Keyword getGoalKeyword_3() { return cGoalKeyword_3; }
 
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+		//goal=OverallGoal
+		public Assignment getGoalAssignment_4() { return cGoalAssignment_4; }
 
-		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+		//OverallGoal
+		public RuleCall getGoalOverallGoalParserRuleCall_4_0() { return cGoalOverallGoalParserRuleCall_4_0; }
 
-		//"tactics"
-		public Keyword getTacticsKeyword_5() { return cTacticsKeyword_5; }
+		//"actions"
+		public Keyword getActionsKeyword_5() { return cActionsKeyword_5; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+		//":"
+		public Keyword getColonKeyword_6() { return cColonKeyword_6; }
 
-		//tactics+=Tactic
-		public Assignment getTacticsAssignment_7() { return cTacticsAssignment_7; }
+		//actions+=Action
+		public Assignment getActionsAssignment_7() { return cActionsAssignment_7; }
 
-		//Tactic
-		public RuleCall getTacticsTacticParserRuleCall_7_0() { return cTacticsTacticParserRuleCall_7_0; }
+		//Action
+		public RuleCall getActionsActionParserRuleCall_7_0() { return cActionsActionParserRuleCall_7_0; }
 
-		//("," tactics+=Tactic)*
+		//("," actions+=Action)*
 		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; }
+		//actions+=Action
+		public Assignment getActionsAssignment_8_1() { return cActionsAssignment_8_1; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		//Action
+		public RuleCall getActionsActionParserRuleCall_8_1_0() { return cActionsActionParserRuleCall_8_1_0; }
 
-		//"actions"
-		public Keyword getActionsKeyword_10() { return cActionsKeyword_10; }
+		//"tactics"
+		public Keyword getTacticsKeyword_9() { return cTacticsKeyword_9; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_11() { return cLeftCurlyBracketKeyword_11; }
+		//":"
+		public Keyword getColonKeyword_10() { return cColonKeyword_10; }
 
-		//actions+=Action
-		public Assignment getActionsAssignment_12() { return cActionsAssignment_12; }
+		//tactics+=Tactic
+		public Assignment getTacticsAssignment_11() { return cTacticsAssignment_11; }
 
-		//Action
-		public RuleCall getActionsActionParserRuleCall_12_0() { return cActionsActionParserRuleCall_12_0; }
+		//Tactic
+		public RuleCall getTacticsTacticParserRuleCall_11_0() { return cTacticsTacticParserRuleCall_11_0; }
 
-		//("," actions+=Action)*
-		public Group getGroup_13() { return cGroup_13; }
+		//("," tactics+=Tactic)*
+		public Group getGroup_12() { return cGroup_12; }
 
 		//","
-		public Keyword getCommaKeyword_13_0() { return cCommaKeyword_13_0; }
-
-		//actions+=Action
-		public Assignment getActionsAssignment_13_1() { return cActionsAssignment_13_1; }
+		public Keyword getCommaKeyword_12_0() { return cCommaKeyword_12_0; }
 
-		//Action
-		public RuleCall getActionsActionParserRuleCall_13_1_0() { return cActionsActionParserRuleCall_13_1_0; }
+		//tactics+=Tactic
+		public Assignment getTacticsAssignment_12_1() { return cTacticsAssignment_12_1; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; }
+		//Tactic
+		public RuleCall getTacticsTacticParserRuleCall_12_1_0() { return cTacticsTacticParserRuleCall_12_1_0; }
 
 		//"strategies"
-		public Keyword getStrategiesKeyword_15() { return cStrategiesKeyword_15; }
+		public Keyword getStrategiesKeyword_13() { return cStrategiesKeyword_13; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_16() { return cLeftCurlyBracketKeyword_16; }
+		//":"
+		public Keyword getColonKeyword_14() { return cColonKeyword_14; }
 
 		//strategies+=Strategy
-		public Assignment getStrategiesAssignment_17() { return cStrategiesAssignment_17; }
+		public Assignment getStrategiesAssignment_15() { return cStrategiesAssignment_15; }
 
 		//Strategy
-		public RuleCall getStrategiesStrategyParserRuleCall_17_0() { return cStrategiesStrategyParserRuleCall_17_0; }
+		public RuleCall getStrategiesStrategyParserRuleCall_15_0() { return cStrategiesStrategyParserRuleCall_15_0; }
 
 		//("," strategies+=Strategy)*
-		public Group getGroup_18() { return cGroup_18; }
+		public Group getGroup_16() { return cGroup_16; }
 
 		//","
-		public Keyword getCommaKeyword_18_0() { return cCommaKeyword_18_0; }
+		public Keyword getCommaKeyword_16_0() { return cCommaKeyword_16_0; }
 
 		//strategies+=Strategy
-		public Assignment getStrategiesAssignment_18_1() { return cStrategiesAssignment_18_1; }
+		public Assignment getStrategiesAssignment_16_1() { return cStrategiesAssignment_16_1; }
 
 		//Strategy
-		public RuleCall getStrategiesStrategyParserRuleCall_18_1_0() { return cStrategiesStrategyParserRuleCall_18_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_19() { return cRightCurlyBracketKeyword_19; }
+		public RuleCall getStrategiesStrategyParserRuleCall_16_1_0() { return cStrategiesStrategyParserRuleCall_16_1_0; }
 
-		//("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")?
-		public Group getGroup_20() { return cGroup_20; }
+		//("parameters" ":" parameters+=Parameter ("," parameters+=Parameter)*)?
+		public Group getGroup_17() { return cGroup_17; }
 
 		//"parameters"
-		public Keyword getParametersKeyword_20_0() { return cParametersKeyword_20_0; }
+		public Keyword getParametersKeyword_17_0() { return cParametersKeyword_17_0; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_20_1() { return cLeftCurlyBracketKeyword_20_1; }
+		//":"
+		public Keyword getColonKeyword_17_1() { return cColonKeyword_17_1; }
 
 		//parameters+=Parameter
-		public Assignment getParametersAssignment_20_2() { return cParametersAssignment_20_2; }
+		public Assignment getParametersAssignment_17_2() { return cParametersAssignment_17_2; }
 
 		//Parameter
-		public RuleCall getParametersParameterParserRuleCall_20_2_0() { return cParametersParameterParserRuleCall_20_2_0; }
+		public RuleCall getParametersParameterParserRuleCall_17_2_0() { return cParametersParameterParserRuleCall_17_2_0; }
 
 		//("," parameters+=Parameter)*
-		public Group getGroup_20_3() { return cGroup_20_3; }
+		public Group getGroup_17_3() { return cGroup_17_3; }
 
 		//","
-		public Keyword getCommaKeyword_20_3_0() { return cCommaKeyword_20_3_0; }
+		public Keyword getCommaKeyword_17_3_0() { return cCommaKeyword_17_3_0; }
 
 		//parameters+=Parameter
-		public Assignment getParametersAssignment_20_3_1() { return cParametersAssignment_20_3_1; }
+		public Assignment getParametersAssignment_17_3_1() { return cParametersAssignment_17_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; }
+		public RuleCall getParametersParameterParserRuleCall_17_3_1_0() { return cParametersParameterParserRuleCall_17_3_1_0; }
 
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_23() { return cRightCurlyBracketKeyword_23; }
+		public Keyword getRightCurlyBracketKeyword_18() { return cRightCurlyBracketKeyword_18; }
 	}
 
 	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);
+		private final Keyword cAdaptionPointKeyword = (Keyword)rule.eContents().get(1);
 		
-		//AdaptationPoint returns adaptationpoints::AdaptationPoint:
-		//	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+		//AdaptationPoint returns adaptationpoints::AdaptationPoint: //ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+		//	"AdaptionPoint";
 		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; }
+		////ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+		//"AdaptionPoint"
+		public Keyword getAdaptionPointKeyword() { return cAdaptionPointKeyword; }
 	}
 
 	public class AbstractControlFlowElementElements extends AbstractParserRuleElementFinder {
@@ -325,265 +290,262 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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 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 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);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cInputKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Keyword cColonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Assignment cInputParamsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
+		private final CrossReference cInputParamsParameterCrossReference_3_2_0 = (CrossReference)cInputParamsAssignment_3_2.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_3_2_0_1 = (RuleCall)cInputParamsParameterCrossReference_3_2_0.eContents().get(1);
+		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
+		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
+		private final Assignment cInputParamsAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
+		private final CrossReference cInputParamsParameterCrossReference_3_3_1_0 = (CrossReference)cInputParamsAssignment_3_3_1.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_3_3_1_0_1 = (RuleCall)cInputParamsParameterCrossReference_3_3_1_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cOutputKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Keyword cColonKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
+		private final Assignment cOutputParamAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
+		private final CrossReference cOutputParamParameterCrossReference_4_2_0 = (CrossReference)cOutputParamAssignment_4_2.eContents().get(0);
+		private final RuleCall cOutputParamParameterEStringParserRuleCall_4_2_0_1 = (RuleCall)cOutputParamParameterCrossReference_4_2_0.eContents().get(1);
+		private final Keyword cImplementedPlanKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cColonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cImplementedPlanAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final RuleCall cImplementedPlanAdaptationPlanParserRuleCall_7_0 = (RuleCall)cImplementedPlanAssignment_7.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
 		
 		//Tactic:
-		//	"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
-		//	inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
-		//	implementedPlan=AdaptationPlan "}";
+		//	"Tactic" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		//	("output" ":" 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 "}"
+		//"Tactic" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		//("output" ":" 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; }
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_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; }
+		//("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		public Group getGroup_3() { return cGroup_3; }
 
-		//"inputParams"
-		public Keyword getInputParamsKeyword_5_0() { return cInputParamsKeyword_5_0; }
+		//"input"
+		public Keyword getInputKeyword_3_0() { return cInputKeyword_3_0; }
 
-		//"("
-		public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; }
+		//":"
+		public Keyword getColonKeyword_3_1() { return cColonKeyword_3_1; }
 
 		//inputParams+=[Parameter|EString]
-		public Assignment getInputParamsAssignment_5_2() { return cInputParamsAssignment_5_2; }
+		public Assignment getInputParamsAssignment_3_2() { return cInputParamsAssignment_3_2; }
 
 		//[Parameter|EString]
-		public CrossReference getInputParamsParameterCrossReference_5_2_0() { return cInputParamsParameterCrossReference_5_2_0; }
+		public CrossReference getInputParamsParameterCrossReference_3_2_0() { return cInputParamsParameterCrossReference_3_2_0; }
 
 		//EString
-		public RuleCall getInputParamsParameterEStringParserRuleCall_5_2_0_1() { return cInputParamsParameterEStringParserRuleCall_5_2_0_1; }
+		public RuleCall getInputParamsParameterEStringParserRuleCall_3_2_0_1() { return cInputParamsParameterEStringParserRuleCall_3_2_0_1; }
 
 		//("," inputParams+=[Parameter|EString])*
-		public Group getGroup_5_3() { return cGroup_5_3; }
+		public Group getGroup_3_3() { return cGroup_3_3; }
 
 		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
+		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
 
 		//inputParams+=[Parameter|EString]
-		public Assignment getInputParamsAssignment_5_3_1() { return cInputParamsAssignment_5_3_1; }
+		public Assignment getInputParamsAssignment_3_3_1() { return cInputParamsAssignment_3_3_1; }
 
 		//[Parameter|EString]
-		public CrossReference getInputParamsParameterCrossReference_5_3_1_0() { return cInputParamsParameterCrossReference_5_3_1_0; }
+		public CrossReference getInputParamsParameterCrossReference_3_3_1_0() { return cInputParamsParameterCrossReference_3_3_1_0; }
 
 		//EString
-		public RuleCall getInputParamsParameterEStringParserRuleCall_5_3_1_0_1() { return cInputParamsParameterEStringParserRuleCall_5_3_1_0_1; }
+		public RuleCall getInputParamsParameterEStringParserRuleCall_3_3_1_0_1() { return cInputParamsParameterEStringParserRuleCall_3_3_1_0_1; }
 
-		//")"
-		public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; }
+		//("output" ":" outputParam=[Parameter|EString])?
+		public Group getGroup_4() { return cGroup_4; }
 
-		//("outputParam" outputParam=[Parameter|EString])?
-		public Group getGroup_6() { return cGroup_6; }
+		//"output"
+		public Keyword getOutputKeyword_4_0() { return cOutputKeyword_4_0; }
 
-		//"outputParam"
-		public Keyword getOutputParamKeyword_6_0() { return cOutputParamKeyword_6_0; }
+		//":"
+		public Keyword getColonKeyword_4_1() { return cColonKeyword_4_1; }
 
 		//outputParam=[Parameter|EString]
-		public Assignment getOutputParamAssignment_6_1() { return cOutputParamAssignment_6_1; }
+		public Assignment getOutputParamAssignment_4_2() { return cOutputParamAssignment_4_2; }
 
 		//[Parameter|EString]
-		public CrossReference getOutputParamParameterCrossReference_6_1_0() { return cOutputParamParameterCrossReference_6_1_0; }
+		public CrossReference getOutputParamParameterCrossReference_4_2_0() { return cOutputParamParameterCrossReference_4_2_0; }
 
 		//EString
-		public RuleCall getOutputParamParameterEStringParserRuleCall_6_1_0_1() { return cOutputParamParameterEStringParserRuleCall_6_1_0_1; }
+		public RuleCall getOutputParamParameterEStringParserRuleCall_4_2_0_1() { return cOutputParamParameterEStringParserRuleCall_4_2_0_1; }
 
 		//"implementedPlan"
-		public Keyword getImplementedPlanKeyword_7() { return cImplementedPlanKeyword_7; }
+		public Keyword getImplementedPlanKeyword_5() { return cImplementedPlanKeyword_5; }
+
+		//":"
+		public Keyword getColonKeyword_6() { return cColonKeyword_6; }
 
 		//implementedPlan=AdaptationPlan
-		public Assignment getImplementedPlanAssignment_8() { return cImplementedPlanAssignment_8; }
+		public Assignment getImplementedPlanAssignment_7() { return cImplementedPlanAssignment_7; }
 
 		//AdaptationPlan
-		public RuleCall getImplementedPlanAdaptationPlanParserRuleCall_8_0() { return cImplementedPlanAdaptationPlanParserRuleCall_8_0; }
+		public RuleCall getImplementedPlanAdaptationPlanParserRuleCall_7_0() { return cImplementedPlanAdaptationPlanParserRuleCall_7_0; }
 
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
 	}
 
 	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 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 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 Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cInputKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Keyword cColonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Assignment cInputParamsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
+		private final CrossReference cInputParamsParameterCrossReference_3_2_0 = (CrossReference)cInputParamsAssignment_3_2.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_3_2_0_1 = (RuleCall)cInputParamsParameterCrossReference_3_2_0.eContents().get(1);
+		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
+		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
+		private final Assignment cInputParamsAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
+		private final CrossReference cInputParamsParameterCrossReference_3_3_1_0 = (CrossReference)cInputParamsAssignment_3_3_1.eContents().get(0);
+		private final RuleCall cInputParamsParameterEStringParserRuleCall_3_3_1_0_1 = (RuleCall)cInputParamsParameterCrossReference_3_3_1_0.eContents().get(1);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cOutputKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Keyword cColonKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
+		private final Assignment cOutputParamAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
+		private final CrossReference cOutputParamParameterCrossReference_4_2_0 = (CrossReference)cOutputParamAssignment_4_2.eContents().get(0);
+		private final RuleCall cOutputParamParameterEStringParserRuleCall_4_2_0_1 = (RuleCall)cOutputParamParameterCrossReference_4_2_0.eContents().get(1);
+		private final Keyword cReferredAdaptationPointKeyword_5 = (Keyword)cGroup.eContents().get(5);
+		private final Keyword cColonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Assignment cReferredAdaptationPointAssignment_7 = (Assignment)cGroup.eContents().get(7);
+		private final CrossReference cReferredAdaptationPointAdaptationPointCrossReference_7_0 = (CrossReference)cReferredAdaptationPointAssignment_7.eContents().get(0);
+		private final RuleCall cReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1 = (RuleCall)cReferredAdaptationPointAdaptationPointCrossReference_7_0.eContents().get(1);
+		private final Keyword cAdaptationActionOperationKeyword_8 = (Keyword)cGroup.eContents().get(8);
+		private final Keyword cColonKeyword_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"
+		////TODO referredAdaptionPoint
+		////TODO ask because of adaptionActionOperation
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		('outputParam' outputParam=[Parameter|EString])?
+		//		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
+		//		'referredAdaptationPoint' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+		//		'adaptationActionOperation' adaptationActionOperation=AdaptationActionOperation
+		//	'}'
+		// * / Action:
+		//	"Action" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		//	("output" ":" outputParam=[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"
+		//"Action" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		//("output" ":" outputParam=[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; }
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_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; }
+		//("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+		public Group getGroup_3() { return cGroup_3; }
 
-		//("outputParam" outputParam=[Parameter|EString])?
-		public Group getGroup_5() { return cGroup_5; }
+		//"input"
+		public Keyword getInputKeyword_3_0() { return cInputKeyword_3_0; }
 
-		//"outputParam"
-		public Keyword getOutputParamKeyword_5_0() { return cOutputParamKeyword_5_0; }
+		//":"
+		public Keyword getColonKeyword_3_1() { return cColonKeyword_3_1; }
 
-		//outputParam=[Parameter|EString]
-		public Assignment getOutputParamAssignment_5_1() { return cOutputParamAssignment_5_1; }
+		//inputParams+=[Parameter|EString]
+		public Assignment getInputParamsAssignment_3_2() { return cInputParamsAssignment_3_2; }
 
 		//[Parameter|EString]
-		public CrossReference getOutputParamParameterCrossReference_5_1_0() { return cOutputParamParameterCrossReference_5_1_0; }
+		public CrossReference getInputParamsParameterCrossReference_3_2_0() { return cInputParamsParameterCrossReference_3_2_0; }
 
 		//EString
-		public RuleCall getOutputParamParameterEStringParserRuleCall_5_1_0_1() { return cOutputParamParameterEStringParserRuleCall_5_1_0_1; }
+		public RuleCall getInputParamsParameterEStringParserRuleCall_3_2_0_1() { return cInputParamsParameterEStringParserRuleCall_3_2_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; }
+		//("," inputParams+=[Parameter|EString])*
+		public Group getGroup_3_3() { return cGroup_3_3; }
 
-		//"("
-		public Keyword getLeftParenthesisKeyword_6_1() { return cLeftParenthesisKeyword_6_1; }
+		//","
+		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
 
 		//inputParams+=[Parameter|EString]
-		public Assignment getInputParamsAssignment_6_2() { return cInputParamsAssignment_6_2; }
+		public Assignment getInputParamsAssignment_3_3_1() { return cInputParamsAssignment_3_3_1; }
 
 		//[Parameter|EString]
-		public CrossReference getInputParamsParameterCrossReference_6_2_0() { return cInputParamsParameterCrossReference_6_2_0; }
+		public CrossReference getInputParamsParameterCrossReference_3_3_1_0() { return cInputParamsParameterCrossReference_3_3_1_0; }
 
 		//EString
-		public RuleCall getInputParamsParameterEStringParserRuleCall_6_2_0_1() { return cInputParamsParameterEStringParserRuleCall_6_2_0_1; }
+		public RuleCall getInputParamsParameterEStringParserRuleCall_3_3_1_0_1() { return cInputParamsParameterEStringParserRuleCall_3_3_1_0_1; }
 
-		//("," inputParams+=[Parameter|EString])*
-		public Group getGroup_6_3() { return cGroup_6_3; }
+		//("output" ":" outputParam=[Parameter|EString])?
+		public Group getGroup_4() { return cGroup_4; }
 
-		//","
-		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
+		//"output"
+		public Keyword getOutputKeyword_4_0() { return cOutputKeyword_4_0; }
 
-		//inputParams+=[Parameter|EString]
-		public Assignment getInputParamsAssignment_6_3_1() { return cInputParamsAssignment_6_3_1; }
+		//":"
+		public Keyword getColonKeyword_4_1() { return cColonKeyword_4_1; }
+
+		//outputParam=[Parameter|EString]
+		public Assignment getOutputParamAssignment_4_2() { return cOutputParamAssignment_4_2; }
 
 		//[Parameter|EString]
-		public CrossReference getInputParamsParameterCrossReference_6_3_1_0() { return cInputParamsParameterCrossReference_6_3_1_0; }
+		public CrossReference getOutputParamParameterCrossReference_4_2_0() { return cOutputParamParameterCrossReference_4_2_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; }
+		public RuleCall getOutputParamParameterEStringParserRuleCall_4_2_0_1() { return cOutputParamParameterEStringParserRuleCall_4_2_0_1; }
 
 		//"referredAdaptationPoint"
-		public Keyword getReferredAdaptationPointKeyword_7() { return cReferredAdaptationPointKeyword_7; }
+		public Keyword getReferredAdaptationPointKeyword_5() { return cReferredAdaptationPointKeyword_5; }
+
+		//":"
+		public Keyword getColonKeyword_6() { return cColonKeyword_6; }
 
 		//referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
-		public Assignment getReferredAdaptationPointAssignment_8() { return cReferredAdaptationPointAssignment_8; }
+		public Assignment getReferredAdaptationPointAssignment_7() { return cReferredAdaptationPointAssignment_7; }
 
 		//[adaptationpoints::AdaptationPoint|EString]
-		public CrossReference getReferredAdaptationPointAdaptationPointCrossReference_8_0() { return cReferredAdaptationPointAdaptationPointCrossReference_8_0; }
+		public CrossReference getReferredAdaptationPointAdaptationPointCrossReference_7_0() { return cReferredAdaptationPointAdaptationPointCrossReference_7_0; }
 
 		//EString
-		public RuleCall getReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1() { return cReferredAdaptationPointAdaptationPointEStringParserRuleCall_8_0_1; }
+		public RuleCall getReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1() { return cReferredAdaptationPointAdaptationPointEStringParserRuleCall_7_0_1; }
 
 		//"adaptationActionOperation"
-		public Keyword getAdaptationActionOperationKeyword_9() { return cAdaptationActionOperationKeyword_9; }
+		public Keyword getAdaptationActionOperationKeyword_8() { return cAdaptationActionOperationKeyword_8; }
+
+		//":"
+		public Keyword getColonKeyword_9() { return cColonKeyword_9; }
 
 		//adaptationActionOperation=AdaptationActionOperation
 		public Assignment getAdaptationActionOperationAssignment_10() { return cAdaptationActionOperationAssignment_10; }
@@ -599,79 +561,84 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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 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 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 Keyword cObjectiveKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Keyword cEqualsSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cObjectiveAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final CrossReference cObjectiveObjectiveCrossReference_5_0 = (CrossReference)cObjectiveAssignment_5.eContents().get(0);
+		private final RuleCall cObjectiveObjectiveEStringParserRuleCall_5_0_1 = (RuleCall)cObjectiveObjectiveCrossReference_5_0.eContents().get(1);
+		private final Keyword cTriggeringEventsKeyword_6 = (Keyword)cGroup.eContents().get(6);
+		private final Keyword cEqualsSignKeyword_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 Keyword cColonKeyword_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 Keyword cWeightingFunctionKeyword_13 = (Keyword)cGroup.eContents().get(13);
+		private final Keyword cColonKeyword_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"
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'objective' objective=[Objective|EString]
+		//		'triggeringEvents' triggeringEvents=Event
+		//		'tactics' '{' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)* '}' 
+		//		'weightingFunction' weightingFunction=WeightingFunction
+		//	'}'
+		// * / Strategy:
+		//	"Strategy" 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"
+		//"Strategy" 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; }
+		//name=EString
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_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; }
+		public Keyword getObjectiveKeyword_3() { return cObjectiveKeyword_3; }
+
+		//"="
+		public Keyword getEqualsSignKeyword_4() { return cEqualsSignKeyword_4; }
 
 		//objective=[Objective|EString]
-		public Assignment getObjectiveAssignment_6() { return cObjectiveAssignment_6; }
+		public Assignment getObjectiveAssignment_5() { return cObjectiveAssignment_5; }
 
 		//[Objective|EString]
-		public CrossReference getObjectiveObjectiveCrossReference_6_0() { return cObjectiveObjectiveCrossReference_6_0; }
+		public CrossReference getObjectiveObjectiveCrossReference_5_0() { return cObjectiveObjectiveCrossReference_5_0; }
 
 		//EString
-		public RuleCall getObjectiveObjectiveEStringParserRuleCall_6_0_1() { return cObjectiveObjectiveEStringParserRuleCall_6_0_1; }
+		public RuleCall getObjectiveObjectiveEStringParserRuleCall_5_0_1() { return cObjectiveObjectiveEStringParserRuleCall_5_0_1; }
 
 		//"triggeringEvents"
-		public Keyword getTriggeringEventsKeyword_7() { return cTriggeringEventsKeyword_7; }
+		public Keyword getTriggeringEventsKeyword_6() { return cTriggeringEventsKeyword_6; }
+
+		//"="
+		public Keyword getEqualsSignKeyword_7() { return cEqualsSignKeyword_7; }
 
 		//triggeringEvents=Event
 		public Assignment getTriggeringEventsAssignment_8() { return cTriggeringEventsAssignment_8; }
@@ -682,8 +649,8 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		//"tactics"
 		public Keyword getTacticsKeyword_9() { return cTacticsKeyword_9; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_10() { return cLeftCurlyBracketKeyword_10; }
+		//":"
+		public Keyword getColonKeyword_10() { return cColonKeyword_10; }
 
 		//tactics+=WeightedTactic
 		public Assignment getTacticsAssignment_11() { return cTacticsAssignment_11; }
@@ -703,11 +670,11 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		//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; }
+		public Keyword getWeightingFunctionKeyword_13() { return cWeightingFunctionKeyword_13; }
+
+		//":"
+		public Keyword getColonKeyword_14() { return cColonKeyword_14; }
 
 		//weightingFunction=WeightingFunction
 		public Assignment getWeightingFunctionAssignment_15() { return cWeightingFunctionAssignment_15; }
@@ -722,205 +689,148 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	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 cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cTypeEStringParserRuleCall_0_0 = (RuleCall)cTypeAssignment_0.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 cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
 		
-		//Parameter:
-		//	"Parameter" name=EString "{" "type" type=EString "}";
+		/// *
+		//	name=EString
+		//	'{'
+		//		'type' type=EString
+		//	'}'
+		// * / Parameter:
+		//	type=EString name=EString;
 		public ParserRule getRule() { return rule; }
 
-		//"Parameter" name=EString "{" "type" type=EString "}"
+		//type=EString name=EString
 		public Group getGroup() { return cGroup; }
 
-		//"Parameter"
-		public Keyword getParameterKeyword_0() { return cParameterKeyword_0; }
+		//type=EString
+		public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
+
+		//EString
+		public RuleCall getTypeEStringParserRuleCall_0_0() { return cTypeEStringParserRuleCall_0_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; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
 	}
 
 	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);
+		private final Keyword cDescriptionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cDescriptionAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cDescriptionEStringParserRuleCall_2_0 = (RuleCall)cDescriptionAssignment_2.eContents().get(0);
+		private final Keyword cObjectivesKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cObjectivesAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final RuleCall cObjectivesObjectiveParserRuleCall_5_0 = (RuleCall)cObjectivesAssignment_5.eContents().get(0);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Assignment cObjectivesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
+		private final RuleCall cObjectivesObjectiveParserRuleCall_6_1_0 = (RuleCall)cObjectivesAssignment_6_1.eContents().get(0);
 		
 		//OverallGoal:
-		//	"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective (","
-		//	objectives+=Objective)* "}" "}";
+		//	"Description" ":" description=EString "objectives" ":" objectives+=Objective ("," objectives+=Objective)*;
 		public ParserRule getRule() { return rule; }
 
-		//"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective ("," objectives+=Objective)*
-		//"}" "}"
+		//"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_0() { return cDescriptionKeyword_0; }
 
-		//"description"
-		public Keyword getDescriptionKeyword_2() { return cDescriptionKeyword_2; }
+		//":"
+		public Keyword getColonKeyword_1() { return cColonKeyword_1; }
 
 		//description=EString
-		public Assignment getDescriptionAssignment_3() { return cDescriptionAssignment_3; }
+		public Assignment getDescriptionAssignment_2() { return cDescriptionAssignment_2; }
 
 		//EString
-		public RuleCall getDescriptionEStringParserRuleCall_3_0() { return cDescriptionEStringParserRuleCall_3_0; }
+		public RuleCall getDescriptionEStringParserRuleCall_2_0() { return cDescriptionEStringParserRuleCall_2_0; }
 
 		//"objectives"
-		public Keyword getObjectivesKeyword_4() { return cObjectivesKeyword_4; }
+		public Keyword getObjectivesKeyword_3() { return cObjectivesKeyword_3; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
+		//":"
+		public Keyword getColonKeyword_4() { return cColonKeyword_4; }
 
 		//objectives+=Objective
-		public Assignment getObjectivesAssignment_6() { return cObjectivesAssignment_6; }
+		public Assignment getObjectivesAssignment_5() { return cObjectivesAssignment_5; }
 
 		//Objective
-		public RuleCall getObjectivesObjectiveParserRuleCall_6_0() { return cObjectivesObjectiveParserRuleCall_6_0; }
+		public RuleCall getObjectivesObjectiveParserRuleCall_5_0() { return cObjectivesObjectiveParserRuleCall_5_0; }
 
 		//("," objectives+=Objective)*
-		public Group getGroup_7() { return cGroup_7; }
+		public Group getGroup_6() { return cGroup_6; }
 
 		//","
-		public Keyword getCommaKeyword_7_0() { return cCommaKeyword_7_0; }
+		public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; }
 
 		//objectives+=Objective
-		public Assignment getObjectivesAssignment_7_1() { return cObjectivesAssignment_7_1; }
+		public Assignment getObjectivesAssignment_6_1() { return cObjectivesAssignment_6_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 RuleCall getObjectivesObjectiveParserRuleCall_6_1_0() { return cObjectivesObjectiveParserRuleCall_6_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);
+		private final Assignment cStepsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cStepsStartActionParserRuleCall_0_0 = (RuleCall)cStepsAssignment_0.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Assignment cStepsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+		private final RuleCall cStepsAbstractControlFlowElementParserRuleCall_1_1_0 = (RuleCall)cStepsAssignment_1_1.eContents().get(0);
+		private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cStepsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cStepsStopActionParserRuleCall_3_0 = (RuleCall)cStepsAssignment_3.eContents().get(0);
 		
-		//AdaptationPlan:
-		//	"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
-		//	steps+=AbstractControlFlowElement)* "}")? "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		('steps' '{' steps+=AbstractControlFlowElement ( "," steps+=AbstractControlFlowElement)* '}' )?
+		//	'}'
+		// * / AdaptationPlan:
+		//	steps+=StartAction ("," steps+=AbstractControlFlowElement)* "," steps+=StopAction;
 		public ParserRule getRule() { return rule; }
 
-		//"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
-		//steps+=AbstractControlFlowElement)* "}")? "}"
+		//steps+=StartAction ("," steps+=AbstractControlFlowElement)* "," steps+=StopAction
 		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+=StartAction
+		public Assignment getStepsAssignment_0() { return cStepsAssignment_0; }
 
-		//steps+=AbstractControlFlowElement
-		public Assignment getStepsAssignment_5_2() { return cStepsAssignment_5_2; }
-
-		//AbstractControlFlowElement
-		public RuleCall getStepsAbstractControlFlowElementParserRuleCall_5_2_0() { return cStepsAbstractControlFlowElementParserRuleCall_5_2_0; }
+		//StartAction
+		public RuleCall getStepsStartActionParserRuleCall_0_0() { return cStepsStartActionParserRuleCall_0_0; }
 
 		//("," steps+=AbstractControlFlowElement)*
-		public Group getGroup_5_3() { return cGroup_5_3; }
+		public Group getGroup_1() { return cGroup_1; }
 
 		//","
-		public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; }
+		public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
 
 		//steps+=AbstractControlFlowElement
-		public Assignment getStepsAssignment_5_3_1() { return cStepsAssignment_5_3_1; }
+		public Assignment getStepsAssignment_1_1() { return cStepsAssignment_1_1; }
 
 		//AbstractControlFlowElement
-		public RuleCall getStepsAbstractControlFlowElementParserRuleCall_5_3_1_0() { return cStepsAbstractControlFlowElementParserRuleCall_5_3_1_0; }
+		public RuleCall getStepsAbstractControlFlowElementParserRuleCall_1_1_0() { return cStepsAbstractControlFlowElementParserRuleCall_1_1_0; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
+		//","
+		public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+		//steps+=StopAction
+		public Assignment getStepsAssignment_3() { return cStepsAssignment_3; }
+
+		//StopAction
+		public RuleCall getStepsStopActionParserRuleCall_3_0() { return cStepsStopActionParserRuleCall_3_0; }
 	}
 
 	public class StartActionElements extends AbstractParserRuleElementFinder {
@@ -928,28 +838,18 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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])? "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		//		('successor' successor=[AbstractControlFlowElement|EString])?
+		//	'}'
+		// * / StartAction:
+		//	{StartAction} "StartAction";
 		public ParserRule getRule() { return rule; }
 
-		//{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-		//("successor" successor=[AbstractControlFlowElement|EString])? "}"
+		//{StartAction} "StartAction"
 		public Group getGroup() { return cGroup; }
 
 		//{StartAction}
@@ -957,682 +857,163 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 
 		//"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; }
+	public class StopActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StopAction");
+		private final Keyword cStopActionKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	//id=EString
+		//	'{'
+		//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		//		('successor' successor=[AbstractControlFlowElement|EString])?
+		//	'}'
+		// * / StopAction: //{StopAction}
+		//	"StopAction";
+		public ParserRule getRule() { return rule; }
 
-		//EString
-		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_4_1_0_1; }
+		////{StopAction}
+		//"StopAction"
+		public Keyword getStopActionKeyword() { return cStopActionKeyword; }
+	}
 
-		//("successor" successor=[AbstractControlFlowElement|EString])?
-		public Group getGroup_5() { return cGroup_5; }
+	public class LoopActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopAction");
+		private final Keyword cLoopActionKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'counter' counter=EInt
+		//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		//		('successor' successor=[AbstractControlFlowElement|EString])?
+		//		'body' body=AdaptationPlan
+		//	'}'
+		// * / LoopAction:
+		//	"LoopAction";
+		public ParserRule getRule() { return rule; }
 
-		//"successor"
-		public Keyword getSuccessorKeyword_5_0() { return cSuccessorKeyword_5_0; }
+		//"LoopAction"
+		public Keyword getLoopActionKeyword() { return cLoopActionKeyword; }
+	}
 
-		//successor=[AbstractControlFlowElement|EString]
-		public Assignment getSuccessorAssignment_5_1() { return cSuccessorAssignment_5_1; }
+	public class BranchActionElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchAction");
+		private final Keyword cBranchActionKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	//id=EString
+		//	'{'
+		//		('condition' condition=EString)?
+		//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		//		('successor' successor=[AbstractControlFlowElement|EString])?
+		//		('context' context=[core::Entity|EString])?
+		//		'conditionTrueBranch' conditionTrueBranch=AdaptationPlan
+		//		'conditionFalseBranch' conditionFalseBranch=AdaptationPlan
+		//	'}'
+		// * / BranchAction:
+		//	"BranchAction";
+		public ParserRule getRule() { return rule; }
 
-		//[AbstractControlFlowElement|EString]
-		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_5_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_5_1_0; }
+		//"BranchAction"
+		public Keyword getBranchActionKeyword() { return cBranchActionKeyword; }
+	}
 
-		//EString
-		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1; }
+	public class ActionReferenceElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActionReference");
+		private final Keyword cActionReferenceKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	//id=EString
+		//	'{'
+		//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+		//		('successor' successor=[AbstractControlFlowElement|EString])?
+		//		'refersTo' refersTo=[Action|EString]
+		//	'}'
+		// * / ActionReference:
+		//	"ActionReference";
+		public ParserRule getRule() { return rule; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+		//"ActionReference"
+		public Keyword getActionReferenceKeyword() { return cActionReferenceKeyword; }
 	}
 
-	public class StopActionElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StopAction");
+	public class EIntElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EInt");
 		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);
+		private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
 		
-		//StopAction:
-		//	{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-		//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+		//EInt returns ecore::EInt:
+		//	"-"? INT;
 		public ParserRule getRule() { return rule; }
 
-		//{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
-		//successor=[AbstractControlFlowElement|EString])? "}"
+		//"-"? INT
 		public Group getGroup() { return cGroup; }
 
-		//{StopAction}
-		public Action getStopActionAction_0() { return cStopActionAction_0; }
+		//"-"?
+		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
 
-		//"StopAction"
-		public Keyword getStopActionKeyword_1() { return cStopActionKeyword_1; }
+		//INT
+		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
+	}
 
-		//id=EString
-		public Assignment getIdAssignment_2() { return cIdAssignment_2; }
+	public class AdaptationActionOperationElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AdaptationActionOperation");
+		private final Keyword cAdaptionActionOperationKeyword = (Keyword)rule.eContents().get(1);
+		
+		////TODO Check With Nico
+		/// *
+		//	'{'
+		//		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
+		//		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
+		//	'}'
+		// * / AdaptationActionOperation:
+		//	"AdaptionActionOperation";
+		public ParserRule getRule() { return rule; }
 
-		//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 Keyword cCounterKeyword_3 = (Keyword)cGroup.eContents().get(3);
-		private final Assignment cCounterAssignment_4 = (Assignment)cGroup.eContents().get(4);
-		private final RuleCall cCounterEIntParserRuleCall_4_0 = (RuleCall)cCounterAssignment_4.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cPredecessorKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Assignment cPredecessorAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
-		private final CrossReference cPredecessorAbstractControlFlowElementCrossReference_5_1_0 = (CrossReference)cPredecessorAssignment_5_1.eContents().get(0);
-		private final RuleCall cPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1 = (RuleCall)cPredecessorAbstractControlFlowElementCrossReference_5_1_0.eContents().get(1);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cSuccessorKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Assignment cSuccessorAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
-		private final CrossReference cSuccessorAbstractControlFlowElementCrossReference_6_1_0 = (CrossReference)cSuccessorAssignment_6_1.eContents().get(0);
-		private final RuleCall cSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1 = (RuleCall)cSuccessorAbstractControlFlowElementCrossReference_6_1_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 "{" "counter" counter=EInt ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-		//	("successor" successor=[AbstractControlFlowElement|EString])? "body" body=AdaptationPlan "}";
-		public ParserRule getRule() { return rule; }
-
-		//"LoopAction" id=EString "{" "counter" counter=EInt ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-		//("successor" successor=[AbstractControlFlowElement|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; }
-
-		//"counter"
-		public Keyword getCounterKeyword_3() { return cCounterKeyword_3; }
-
-		//counter=EInt
-		public Assignment getCounterAssignment_4() { return cCounterAssignment_4; }
-
-		//EInt
-		public RuleCall getCounterEIntParserRuleCall_4_0() { return cCounterEIntParserRuleCall_4_0; }
-
-		//("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-		public Group getGroup_5() { return cGroup_5; }
-
-		//"predecessor"
-		public Keyword getPredecessorKeyword_5_0() { return cPredecessorKeyword_5_0; }
-
-		//predecessor=[AbstractControlFlowElement|EString]
-		public Assignment getPredecessorAssignment_5_1() { return cPredecessorAssignment_5_1; }
-
-		//[AbstractControlFlowElement|EString]
-		public CrossReference getPredecessorAbstractControlFlowElementCrossReference_5_1_0() { return cPredecessorAbstractControlFlowElementCrossReference_5_1_0; }
-
-		//EString
-		public RuleCall getPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1() { return cPredecessorAbstractControlFlowElementEStringParserRuleCall_5_1_0_1; }
-
-		//("successor" successor=[AbstractControlFlowElement|EString])?
-		public Group getGroup_6() { return cGroup_6; }
-
-		//"successor"
-		public Keyword getSuccessorKeyword_6_0() { return cSuccessorKeyword_6_0; }
-
-		//successor=[AbstractControlFlowElement|EString]
-		public Assignment getSuccessorAssignment_6_1() { return cSuccessorAssignment_6_1; }
-
-		//[AbstractControlFlowElement|EString]
-		public CrossReference getSuccessorAbstractControlFlowElementCrossReference_6_1_0() { return cSuccessorAbstractControlFlowElementCrossReference_6_1_0; }
-
-		//EString
-		public RuleCall getSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_0_1() { return cSuccessorAbstractControlFlowElementEStringParserRuleCall_6_1_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 EIntElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EInt");
-		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);
-		
-		//EInt returns ecore::EInt:
-		//	"-"? INT;
-		public ParserRule getRule() { return rule; }
-
-		//"-"? INT
-		public Group getGroup() { return cGroup; }
-
-		//"-"?
-		public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
-
-	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; }
-	}
+		//"AdaptionActionOperation"
+		public Keyword getAdaptionActionOperationKeyword() { return cAdaptionActionOperationKeyword; }
+	}
 
 	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);
+		private final Keyword cModelVariableConfigurationRangeKeyword = (Keyword)rule.eContents().get(1);
 		
-		//ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
-		//	"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
-		//	maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'minValue' minValue=EDouble
+		//		'maxValue' maxValue=EDouble
+		//		'adaptableEntity' adaptableEntity=[core::AdaptableEntity|EString]
+		//	'}'
+		// * / ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+		//	"ModelVariableConfigurationRange";
 		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 Keyword getModelVariableConfigurationRangeKeyword() { return cModelVariableConfigurationRangeKeyword; }
 	}
 
 	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);
+		private final Keyword cModelEntityConfigurationRangeKeyword = (Keyword)rule.eContents().get(1);
 		
-		//ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
-		//	"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
-		//	adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'adaptableEntity' adaptableEntity=[core::Entity|EString]
+		//		'variationPossibility' variationPossibility=VariationType
+		//	'}'
+		// * / ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+		//	"ModelEntityConfigurationRange";
 		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 Keyword getModelEntityConfigurationRangeKeyword() { return cModelEntityConfigurationRangeKeyword; }
 	}
 
 	public class EDoubleElements extends AbstractParserRuleElementFinder {
@@ -1689,182 +1070,53 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 
 	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; }
+		private final Keyword cPropertyRangeKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	'{'
+		//		'minValueConstraint' minValueConstraint=OclConstraint
+		//		'maxValueConstraint' maxValueConstraint=OclConstraint
+		//	'}'
+		// * / PropertyRange returns adaptationpoints::PropertyRange:
+		//	"PropertyRange";
+		public ParserRule getRule() { return rule; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+		//"PropertyRange"
+		public Keyword getPropertyRangeKeyword() { return cPropertyRangeKeyword; }
+	}
 
-		//"oclString"
-		public Keyword getOclStringKeyword_3() { return cOclStringKeyword_3; }
+	public class SetOfConfigurationsElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SetOfConfigurations");
+		private final Keyword cSetOfConfigurationsKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	'{'
+		//		('variants' '(' variants+=[core::Entity|EString] ( "," variants+=[core::Entity|EString])* ')' )?
+		//		'valueConstraint' valueConstraint=OclConstraint
+		//	'}'
+		// * / SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+		//	"SetOfConfigurations";
+		public ParserRule getRule() { return rule; }
 
-		//oclString=EString
-		public Assignment getOclStringAssignment_4() { return cOclStringAssignment_4; }
+		//"SetOfConfigurations"
+		public Keyword getSetOfConfigurationsKeyword() { return cSetOfConfigurationsKeyword; }
+	}
 
-		//EString
-		public RuleCall getOclStringEStringParserRuleCall_4_0() { return cOclStringEStringParserRuleCall_4_0; }
+	public class OclConstraintElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OclConstraint");
+		private final Keyword cOclConstraintKeyword = (Keyword)rule.eContents().get(1);
+		
+		/// *
+		//	name=EString
+		//	'{'
+		//		'oclString' oclString=EString
+		//	'}'
+		// * / OclConstraint returns adaptationpoints::OclConstraint:
+		//	"OclConstraint";
+		public ParserRule getRule() { return rule; }
 
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+		//"OclConstraint"
+		public Keyword getOclConstraintKeyword() { return cOclConstraintKeyword; }
 	}
 
 	public class AdaptationScopeElements extends AbstractParserRuleElementFinder {
@@ -1895,462 +1147,231 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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 cSpecificationKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Assignment cSpecificationAssignment_6 = (Assignment)cGroup.eContents().get(6);
-		private final RuleCall cSpecificationEStringParserRuleCall_6_0 = (RuleCall)cSpecificationAssignment_6.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+		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 cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
+		private final Assignment cSpecificationAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cSpecificationEStringParserRuleCall_3_0 = (RuleCall)cSpecificationAssignment_3.eContents().get(0);
 		
-		//Objective:
-		//	"Objective" id=EString "{" "name" name=EString "specification" specification=EString "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'specification' specification=EString
+		//	'}'
+		// * / Objective:
+		//	"Objective" name=EString "=" specification=EString;
 		public ParserRule getRule() { return rule; }
 
-		//"Objective" id=EString "{" "name" name=EString "specification" specification=EString "}"
+		//"Objective" name=EString "=" specification=EString
 		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; }
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
 
-		//"specification"
-		public Keyword getSpecificationKeyword_5() { return cSpecificationKeyword_5; }
+		//"="
+		public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
 
 		//specification=EString
-		public Assignment getSpecificationAssignment_6() { return cSpecificationAssignment_6; }
+		public Assignment getSpecificationAssignment_3() { return cSpecificationAssignment_3; }
 
 		//EString
-		public RuleCall getSpecificationEStringParserRuleCall_6_0() { return cSpecificationEStringParserRuleCall_6_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+		public RuleCall getSpecificationEStringParserRuleCall_3_0() { return cSpecificationEStringParserRuleCall_3_0; }
 	}
 
 	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);
+		private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
+		private final RuleCall cNameEStringParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
 		
 		//Event:
-		//	"Event" id=EString "{" "name" name=EString "}";
+		//	name= //id=EString
+		//	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; }
-
+		//name= //id=EString
 		//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; }
+		public Assignment getNameAssignment() { return cNameAssignment; }
 
+		////id=EString
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+		public RuleCall getNameEStringParserRuleCall_0() { return cNameEStringParserRuleCall_0; }
 	}
 
 	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);
+		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cNameEStringParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+		private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cUsedTacticAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final CrossReference cUsedTacticTacticCrossReference_2_0 = (CrossReference)cUsedTacticAssignment_2.eContents().get(0);
+		private final RuleCall cUsedTacticTacticEStringParserRuleCall_2_0_1 = (RuleCall)cUsedTacticTacticCrossReference_2_0.eContents().get(1);
+		private final Assignment cCurrentWeightAssignment_3 = (Assignment)cGroup.eContents().get(3);
+		private final RuleCall cCurrentWeightEDoubleParserRuleCall_3_0 = (RuleCall)cCurrentWeightAssignment_3.eContents().get(0);
+		private final Assignment cDefaultWeightAssignment_4 = (Assignment)cGroup.eContents().get(4);
+		private final RuleCall cDefaultWeightEDoubleParserRuleCall_4_0 = (RuleCall)cDefaultWeightAssignment_4.eContents().get(0);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cLastImpactKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Assignment cLastImpactAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+		private final CrossReference cLastImpactImpactCrossReference_5_1_0 = (CrossReference)cLastImpactAssignment_5_1.eContents().get(0);
+		private final RuleCall cLastImpactImpactEStringParserRuleCall_5_1_0_1 = (RuleCall)cLastImpactImpactCrossReference_5_1_0.eContents().get(1);
 		
 		//WeightedTactic:
-		//	"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
-		//	defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
-		//	lastImpact=[perfdatarepo::Impact|EString])? "}";
+		//	name=EString "=" usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ("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])? "}"
+		//name=EString "=" usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ("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; }
+		//name=EString
+		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
 		//EString
-		public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; }
+		public RuleCall getNameEStringParserRuleCall_0_0() { return cNameEStringParserRuleCall_0_0; }
 
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+		//"="
+		public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
 
-		//"name"
-		public Keyword getNameKeyword_3() { return cNameKeyword_3; }
+		//usedTactic=[Tactic|EString]
+		public Assignment getUsedTacticAssignment_2() { return cUsedTacticAssignment_2; }
 
-		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+		//[Tactic|EString]
+		public CrossReference getUsedTacticTacticCrossReference_2_0() { return cUsedTacticTacticCrossReference_2_0; }
 
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"currentWeight"
-		public Keyword getCurrentWeightKeyword_5() { return cCurrentWeightKeyword_5; }
+		public RuleCall getUsedTacticTacticEStringParserRuleCall_2_0_1() { return cUsedTacticTacticEStringParserRuleCall_2_0_1; }
 
 		//currentWeight=EDouble
-		public Assignment getCurrentWeightAssignment_6() { return cCurrentWeightAssignment_6; }
+		public Assignment getCurrentWeightAssignment_3() { return cCurrentWeightAssignment_3; }
 
 		//EDouble
-		public RuleCall getCurrentWeightEDoubleParserRuleCall_6_0() { return cCurrentWeightEDoubleParserRuleCall_6_0; }
-
-		//"defaultWeight"
-		public Keyword getDefaultWeightKeyword_7() { return cDefaultWeightKeyword_7; }
+		public RuleCall getCurrentWeightEDoubleParserRuleCall_3_0() { return cCurrentWeightEDoubleParserRuleCall_3_0; }
 
 		//defaultWeight=EDouble
-		public Assignment getDefaultWeightAssignment_8() { return cDefaultWeightAssignment_8; }
+		public Assignment getDefaultWeightAssignment_4() { return cDefaultWeightAssignment_4; }
 
 		//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; }
+		public RuleCall getDefaultWeightEDoubleParserRuleCall_4_0() { return cDefaultWeightEDoubleParserRuleCall_4_0; }
 
 		//("lastImpact" lastImpact=[perfdatarepo::Impact|EString])?
-		public Group getGroup_11() { return cGroup_11; }
+		public Group getGroup_5() { return cGroup_5; }
 
 		//"lastImpact"
-		public Keyword getLastImpactKeyword_11_0() { return cLastImpactKeyword_11_0; }
+		public Keyword getLastImpactKeyword_5_0() { return cLastImpactKeyword_5_0; }
 
 		//lastImpact=[perfdatarepo::Impact|EString]
-		public Assignment getLastImpactAssignment_11_1() { return cLastImpactAssignment_11_1; }
+		public Assignment getLastImpactAssignment_5_1() { return cLastImpactAssignment_5_1; }
 
 		//[perfdatarepo::Impact|EString]
-		public CrossReference getLastImpactImpactCrossReference_11_1_0() { return cLastImpactImpactCrossReference_11_1_0; }
+		public CrossReference getLastImpactImpactCrossReference_5_1_0() { return cLastImpactImpactCrossReference_5_1_0; }
 
 		//EString
-		public RuleCall getLastImpactImpactEStringParserRuleCall_11_1_0_1() { return cLastImpactImpactEStringParserRuleCall_11_1_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; }
+		public RuleCall getLastImpactImpactEStringParserRuleCall_5_1_0_1() { return cLastImpactImpactEStringParserRuleCall_5_1_0_1; }
 	}
 
 	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 cWeightedMetricsKeyword_5 = (Keyword)cGroup.eContents().get(5);
-		private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
-		private final Assignment cWeightedMetricsAssignment_7 = (Assignment)cGroup.eContents().get(7);
-		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_7_0 = (RuleCall)cWeightedMetricsAssignment_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 cWeightedMetricsAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1);
-		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_8_1_0 = (RuleCall)cWeightedMetricsAssignment_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);
+		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cNameEStringParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cWeightedMetricsAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_2_0 = (RuleCall)cWeightedMetricsAssignment_2.eContents().get(0);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cCommaKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Assignment cWeightedMetricsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+		private final RuleCall cWeightedMetricsWeightedMetricParserRuleCall_3_1_0 = (RuleCall)cWeightedMetricsAssignment_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
-		//WeightingFunction:
-		//	"WeightingFunction" id=EString "{" "name" name=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
-		//	weightedMetrics+=WeightedMetric)* "}" "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'weightedMetrics' '{' weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)* '}' 
+		//	'}'
+		// * / WeightingFunction:
+		//	name=EString "{" weightedMetrics+=WeightedMetric ("," weightedMetrics+=WeightedMetric)* "}";
 		public ParserRule getRule() { return rule; }
 
-		//"WeightingFunction" id=EString "{" "name" name=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
-		//weightedMetrics+=WeightedMetric)* "}" "}"
+		//name=EString "{" 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; }
+		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"weightedMetrics"
-		public Keyword getWeightedMetricsKeyword_5() { return cWeightedMetricsKeyword_5; }
+		public RuleCall getNameEStringParserRuleCall_0_0() { return cNameEStringParserRuleCall_0_0; }
 
 		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
 
 		//weightedMetrics+=WeightedMetric
-		public Assignment getWeightedMetricsAssignment_7() { return cWeightedMetricsAssignment_7; }
+		public Assignment getWeightedMetricsAssignment_2() { return cWeightedMetricsAssignment_2; }
 
 		//WeightedMetric
-		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_7_0() { return cWeightedMetricsWeightedMetricParserRuleCall_7_0; }
+		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_2_0() { return cWeightedMetricsWeightedMetricParserRuleCall_2_0; }
 
 		//("," weightedMetrics+=WeightedMetric)*
-		public Group getGroup_8() { return cGroup_8; }
+		public Group getGroup_3() { return cGroup_3; }
 
 		//","
-		public Keyword getCommaKeyword_8_0() { return cCommaKeyword_8_0; }
+		public Keyword getCommaKeyword_3_0() { return cCommaKeyword_3_0; }
 
 		//weightedMetrics+=WeightedMetric
-		public Assignment getWeightedMetricsAssignment_8_1() { return cWeightedMetricsAssignment_8_1; }
+		public Assignment getWeightedMetricsAssignment_3_1() { return cWeightedMetricsAssignment_3_1; }
 
 		//WeightedMetric
-		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_8_1_0() { return cWeightedMetricsWeightedMetricParserRuleCall_8_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		public RuleCall getWeightedMetricsWeightedMetricParserRuleCall_3_1_0() { return cWeightedMetricsWeightedMetricParserRuleCall_3_1_0; }
 
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
 	}
 
 	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);
+		private final Keyword cImpactKeyword = (Keyword)rule.eContents().get(1);
 		
-		//Impact returns perfdatarepo::Impact:
-		//	"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
-		//	after=[perfdatarepo::Result|EString] "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'before' before=[perfdatarepo::Result|EString]
+		//		'after' after=[perfdatarepo::Result|EString]
+		//	'}'
+		// * / Impact returns perfdatarepo::Impact:
+		//	"Impact";
 		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 Keyword getImpactKeyword() { return cImpactKeyword; }
 	}
 
 	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);
+		private final Keyword cResultKeyword = (Keyword)rule.eContents().get(1);
 		
-		//Result returns perfdatarepo::Result:
-		//	"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
-		//	("," metricValues+=MetricValue)* "}" "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'timestamp' timestamp=EDate
+		//		'metricValues' '{' metricValues+=MetricValue ( "," metricValues+=MetricValue)* '}' 
+		//	'}'
+		// * / Result returns perfdatarepo::Result:
+		//	"Result";
 		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 Keyword getResultKeyword() { return cResultKeyword; }
 	}
 
 	public class EDateElements extends AbstractParserRuleElementFinder {
@@ -2367,300 +1388,121 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 
 	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);
+		private final Keyword cMetricValueKeyword = (Keyword)rule.eContents().get(1);
 		
-		//MetricValue returns perfdatarepo::MetricValue:
-		//	"MetricValue" id=EString "{" "name" name=EString "value" value=EDouble "measuredEntity"
-		//	measuredEntity=[perfdatarepo::MeasuredEntity|EString] "metricType" metricType=[perfdatarepo::MetricType|EString] "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'value' value=EDouble
+		//		'measuredEntity' measuredEntity=[perfdatarepo::MeasuredEntity|EString]
+		//		'metricType' metricType=[perfdatarepo::MetricType|EString]
+		//	'}'
+		// * / MetricValue returns perfdatarepo::MetricValue:
+		//	"MetricValue";
 		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 Keyword getMetricValueKeyword() { return cMetricValueKeyword; }
 	}
 
 	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);
+		private final Keyword cMeasuredEntityKeyword = (Keyword)rule.eContents().get(1);
 		
-		//MeasuredEntity returns perfdatarepo::MeasuredEntity:
-		//	"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
-		//	("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
+		//	'}'
+		// * / MeasuredEntity returns perfdatarepo::MeasuredEntity:
+		//	"MeasuredEntity";
 		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 Keyword getMeasuredEntityKeyword() { return cMeasuredEntityKeyword; }
 	}
 
 	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);
+		private final Keyword cNameKeyword_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);
 		
-		//MetricType returns perfdatarepo::MetricType:
-		//	"MetricType" id=EString "{" "name" name=EString "}";
+		/// *
+		//	//id=EString
+		//	'{'
+		//		'name' name=EString
+		//	'}'
+		// * / MetricType returns perfdatarepo::MetricType:
+		//	"name" name=EString;
 		public ParserRule getRule() { return rule; }
 
-		//"MetricType" id=EString "{" "name" name=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; }
+		public Keyword getNameKeyword_0() { return cNameKeyword_0; }
 
 		//name=EString
-		public Assignment getNameAssignment_4() { return cNameAssignment_4; }
+		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
 	}
 
 	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);
+		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+		private final RuleCall cNameEStringParserRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+		private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+		private final Assignment cWeightAssignment_2 = (Assignment)cGroup.eContents().get(2);
+		private final RuleCall cWeightEDoubleParserRuleCall_2_0 = (RuleCall)cWeightAssignment_2.eContents().get(0);
+		private final Keyword cRefKeyword_3 = (Keyword)cGroup.eContents().get(3);
+		private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Assignment cMetricTypeAssignment_5 = (Assignment)cGroup.eContents().get(5);
+		private final CrossReference cMetricTypeMetricTypeCrossReference_5_0 = (CrossReference)cMetricTypeAssignment_5.eContents().get(0);
+		private final RuleCall cMetricTypeMetricTypeEStringParserRuleCall_5_0_1 = (RuleCall)cMetricTypeMetricTypeCrossReference_5_0.eContents().get(1);
 		
 		//WeightedMetric:
-		//	"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
-		//	metricType=[perfdatarepo::MetricType|EString] "}";
+		//	name=EString "=" weight=EDouble "ref" ":" metricType=[perfdatarepo::MetricType|EString];
 		public ParserRule getRule() { return rule; }
 
-		//"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
-		//metricType=[perfdatarepo::MetricType|EString] "}"
+		//name=EString "=" weight=EDouble "ref" ":" 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; }
+		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
 		//EString
-		public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; }
+		public RuleCall getNameEStringParserRuleCall_0_0() { return cNameEStringParserRuleCall_0_0; }
 
-		//"weight"
-		public Keyword getWeightKeyword_5() { return cWeightKeyword_5; }
+		//"="
+		public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
 
 		//weight=EDouble
-		public Assignment getWeightAssignment_6() { return cWeightAssignment_6; }
+		public Assignment getWeightAssignment_2() { return cWeightAssignment_2; }
 
 		//EDouble
-		public RuleCall getWeightEDoubleParserRuleCall_6_0() { return cWeightEDoubleParserRuleCall_6_0; }
+		public RuleCall getWeightEDoubleParserRuleCall_2_0() { return cWeightEDoubleParserRuleCall_2_0; }
+
+		//"ref"
+		public Keyword getRefKeyword_3() { return cRefKeyword_3; }
 
-		//"metricType"
-		public Keyword getMetricTypeKeyword_7() { return cMetricTypeKeyword_7; }
+		//":"
+		public Keyword getColonKeyword_4() { return cColonKeyword_4; }
 
 		//metricType=[perfdatarepo::MetricType|EString]
-		public Assignment getMetricTypeAssignment_8() { return cMetricTypeAssignment_8; }
+		public Assignment getMetricTypeAssignment_5() { return cMetricTypeAssignment_5; }
 
 		//[perfdatarepo::MetricType|EString]
-		public CrossReference getMetricTypeMetricTypeCrossReference_8_0() { return cMetricTypeMetricTypeCrossReference_8_0; }
+		public CrossReference getMetricTypeMetricTypeCrossReference_5_0() { return cMetricTypeMetricTypeCrossReference_5_0; }
 
 		//EString
-		public RuleCall getMetricTypeMetricTypeEStringParserRuleCall_8_0_1() { return cMetricTypeMetricTypeEStringParserRuleCall_8_0_1; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+		public RuleCall getMetricTypeMetricTypeEStringParserRuleCall_5_0_1() { return cMetricTypeMetricTypeEStringParserRuleCall_5_0_1; }
 	}
 	
 	
@@ -2741,10 +1583,10 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 
 	
 	//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 "}";
+	//	"AdaptationProcess" name=EString //id=EString
+	//	"{" "goal" goal=OverallGoal "actions" ":" actions+=Action ("," actions+=Action)* "tactics" ":" tactics+=Tactic (","
+	//	tactics+=Tactic)* "strategies" ":" strategies+=Strategy ("," strategies+=Strategy)* ("parameters" ":"
+	//	parameters+=Parameter ("," parameters+=Parameter)*)? "}";
 	public AdaptationProcessElements getAdaptationProcessAccess() {
 		return (pAdaptationProcess != null) ? pAdaptationProcess : (pAdaptationProcess = new AdaptationProcessElements());
 	}
@@ -2753,8 +1595,8 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getAdaptationProcessAccess().getRule();
 	}
 
-	//AdaptationPoint returns adaptationpoints::AdaptationPoint:
-	//	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+	//AdaptationPoint returns adaptationpoints::AdaptationPoint: //ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+	//	"AdaptionPoint";
 	public AdaptationPointElements getAdaptationPointAccess() {
 		return (pAdaptationPoint != null) ? pAdaptationPoint : (pAdaptationPoint = new AdaptationPointElements());
 	}
@@ -2794,9 +1636,8 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	}
 
 	//Tactic:
-	//	"Tactic" id=EString "{" "name" name=EString ("inputParams" "(" inputParams+=[Parameter|EString] (","
-	//	inputParams+=[Parameter|EString])* ")")? ("outputParam" outputParam=[Parameter|EString])? "implementedPlan"
-	//	implementedPlan=AdaptationPlan "}";
+	//	"Tactic" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+	//	("output" ":" outputParam=[Parameter|EString])? "implementedPlan" ":" implementedPlan=AdaptationPlan "}";
 	public TacticElements getTacticAccess() {
 		return (pTactic != null) ? pTactic : (pTactic = new TacticElements());
 	}
@@ -2805,10 +1646,21 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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"
+	////TODO referredAdaptionPoint
+	////TODO ask because of adaptionActionOperation
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		('outputParam' outputParam=[Parameter|EString])?
+	//		('inputParams' '(' inputParams+=[Parameter|EString] ( "," inputParams+=[Parameter|EString])* ')' )?
+	//		'referredAdaptationPoint' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+	//		'adaptationActionOperation' adaptationActionOperation=AdaptationActionOperation
+	//	'}'
+	// * / Action:
+	//	"Action" name=EString "{" ("input" ":" inputParams+=[Parameter|EString] ("," inputParams+=[Parameter|EString])*)?
+	//	("output" ":" outputParam=[Parameter|EString])? "referredAdaptationPoint" ":"
+	//	referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString] "adaptationActionOperation" ":"
 	//	adaptationActionOperation=AdaptationActionOperation "}";
 	public ActionElements getActionAccess() {
 		return (pAction != null) ? pAction : (pAction = new ActionElements());
@@ -2818,9 +1670,18 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getActionAccess().getRule();
 	}
 
-	//Strategy:
-	//	"Strategy" id=EString "{" "name" name=EString "objective" objective=[Objective|EString] "triggeringEvents"
-	//	triggeringEvents=Event "tactics" "{" tactics+=WeightedTactic ("," tactics+=WeightedTactic)* "}" "weightingFunction"
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'objective' objective=[Objective|EString]
+	//		'triggeringEvents' triggeringEvents=Event
+	//		'tactics' '{' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)* '}' 
+	//		'weightingFunction' weightingFunction=WeightingFunction
+	//	'}'
+	// * / Strategy:
+	//	"Strategy" 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());
@@ -2830,8 +1691,13 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getStrategyAccess().getRule();
 	}
 
-	//Parameter:
-	//	"Parameter" name=EString "{" "type" type=EString "}";
+	/// *
+	//	name=EString
+	//	'{'
+	//		'type' type=EString
+	//	'}'
+	// * / Parameter:
+	//	type=EString name=EString;
 	public ParameterElements getParameterAccess() {
 		return (pParameter != null) ? pParameter : (pParameter = new ParameterElements());
 	}
@@ -2841,8 +1707,7 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	}
 
 	//OverallGoal:
-	//	"OverallGoal" "{" "description" description=EString "objectives" "{" objectives+=Objective (","
-	//	objectives+=Objective)* "}" "}";
+	//	"Description" ":" description=EString "objectives" ":" objectives+=Objective ("," objectives+=Objective)*;
 	public OverallGoalElements getOverallGoalAccess() {
 		return (pOverallGoal != null) ? pOverallGoal : (pOverallGoal = new OverallGoalElements());
 	}
@@ -2851,9 +1716,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getOverallGoalAccess().getRule();
 	}
 
-	//AdaptationPlan:
-	//	"AdaptationPlan" id=EString "{" "name" name=EString ("steps" "{" steps+=AbstractControlFlowElement (","
-	//	steps+=AbstractControlFlowElement)* "}")? "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		('steps' '{' steps+=AbstractControlFlowElement ( "," steps+=AbstractControlFlowElement)* '}' )?
+	//	'}'
+	// * / AdaptationPlan:
+	//	steps+=StartAction ("," steps+=AbstractControlFlowElement)* "," steps+=StopAction;
 	public AdaptationPlanElements getAdaptationPlanAccess() {
 		return (pAdaptationPlan != null) ? pAdaptationPlan : (pAdaptationPlan = new AdaptationPlanElements());
 	}
@@ -2862,9 +1732,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getAdaptationPlanAccess().getRule();
 	}
 
-	//StartAction:
-	//	{StartAction} "StartAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-	//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+	//		('successor' successor=[AbstractControlFlowElement|EString])?
+	//	'}'
+	// * / StartAction:
+	//	{StartAction} "StartAction";
 	public StartActionElements getStartActionAccess() {
 		return (pStartAction != null) ? pStartAction : (pStartAction = new StartActionElements());
 	}
@@ -2873,9 +1748,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getStartActionAccess().getRule();
 	}
 
-	//StopAction:
-	//	{StopAction} "StopAction" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-	//	("successor" successor=[AbstractControlFlowElement|EString])? "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+	//		('successor' successor=[AbstractControlFlowElement|EString])?
+	//	'}'
+	// * / StopAction: //{StopAction}
+	//	"StopAction";
 	public StopActionElements getStopActionAccess() {
 		return (pStopAction != null) ? pStopAction : (pStopAction = new StopActionElements());
 	}
@@ -2884,9 +1764,16 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getStopActionAccess().getRule();
 	}
 
-	//LoopAction:
-	//	"LoopAction" id=EString "{" "counter" counter=EInt ("predecessor" predecessor=[AbstractControlFlowElement|EString])?
-	//	("successor" successor=[AbstractControlFlowElement|EString])? "body" body=AdaptationPlan "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'counter' counter=EInt
+	//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+	//		('successor' successor=[AbstractControlFlowElement|EString])?
+	//		'body' body=AdaptationPlan
+	//	'}'
+	// * / LoopAction:
+	//	"LoopAction";
 	public LoopActionElements getLoopActionAccess() {
 		return (pLoopAction != null) ? pLoopAction : (pLoopAction = new LoopActionElements());
 	}
@@ -2895,11 +1782,18 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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 "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		('condition' condition=EString)?
+	//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+	//		('successor' successor=[AbstractControlFlowElement|EString])?
+	//		('context' context=[core::Entity|EString])?
+	//		'conditionTrueBranch' conditionTrueBranch=AdaptationPlan
+	//		'conditionFalseBranch' conditionFalseBranch=AdaptationPlan
+	//	'}'
+	// * / BranchAction:
+	//	"BranchAction";
 	public BranchActionElements getBranchActionAccess() {
 		return (pBranchAction != null) ? pBranchAction : (pBranchAction = new BranchActionElements());
 	}
@@ -2908,9 +1802,15 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getBranchActionAccess().getRule();
 	}
 
-	//ActionReference:
-	//	"ActionReference" id=EString "{" ("predecessor" predecessor=[AbstractControlFlowElement|EString])? ("successor"
-	//	successor=[AbstractControlFlowElement|EString])? "refersTo" refersTo=[Action|EString] "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
+	//		('successor' successor=[AbstractControlFlowElement|EString])?
+	//		'refersTo' refersTo=[Action|EString]
+	//	'}'
+	// * / ActionReference:
+	//	"ActionReference";
 	public ActionReferenceElements getActionReferenceAccess() {
 		return (pActionReference != null) ? pActionReference : (pActionReference = new ActionReferenceElements());
 	}
@@ -2929,9 +1829,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getEIntAccess().getRule();
 	}
 
-	//AdaptationActionOperation:
-	//	"AdaptationActionOperation" "{" "adaptationOperationScope" adaptationOperationScope=AdaptationScope
-	//	"adaptationOperationDirection" adaptationOperationDirection=AdaptationDirection "}";
+	////TODO Check With Nico
+	/// *
+	//	'{'
+	//		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
+	//		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
+	//	'}'
+	// * / AdaptationActionOperation:
+	//	"AdaptionActionOperation";
 	public AdaptationActionOperationElements getAdaptationActionOperationAccess() {
 		return (pAdaptationActionOperation != null) ? pAdaptationActionOperation : (pAdaptationActionOperation = new AdaptationActionOperationElements());
 	}
@@ -2940,9 +1845,16 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getAdaptationActionOperationAccess().getRule();
 	}
 
-	//ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
-	//	"ModelVariableConfigurationRange" id=EString "{" "name" name=EString "minValue" minValue=EDouble "maxValue"
-	//	maxValue=EDouble "adaptableEntity" adaptableEntity=[core::AdaptableEntity|EString] "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'minValue' minValue=EDouble
+	//		'maxValue' maxValue=EDouble
+	//		'adaptableEntity' adaptableEntity=[core::AdaptableEntity|EString]
+	//	'}'
+	// * / ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
+	//	"ModelVariableConfigurationRange";
 	public ModelVariableConfigurationRangeElements getModelVariableConfigurationRangeAccess() {
 		return (pModelVariableConfigurationRange != null) ? pModelVariableConfigurationRange : (pModelVariableConfigurationRange = new ModelVariableConfigurationRangeElements());
 	}
@@ -2951,9 +1863,15 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getModelVariableConfigurationRangeAccess().getRule();
 	}
 
-	//ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
-	//	"ModelEntityConfigurationRange" id=EString "{" "name" name=EString "adaptableEntity"
-	//	adaptableEntity=[core::Entity|EString] "variationPossibility" variationPossibility=VariationType "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'adaptableEntity' adaptableEntity=[core::Entity|EString]
+	//		'variationPossibility' variationPossibility=VariationType
+	//	'}'
+	// * / ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
+	//	"ModelEntityConfigurationRange";
 	public ModelEntityConfigurationRangeElements getModelEntityConfigurationRangeAccess() {
 		return (pModelEntityConfigurationRange != null) ? pModelEntityConfigurationRange : (pModelEntityConfigurationRange = new ModelEntityConfigurationRangeElements());
 	}
@@ -2972,9 +1890,13 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getEDoubleAccess().getRule();
 	}
 
-	//PropertyRange returns adaptationpoints::PropertyRange:
-	//	"PropertyRange" "{" "minValueConstraint" minValueConstraint=OclConstraint "maxValueConstraint"
-	//	maxValueConstraint=OclConstraint "}";
+	/// *
+	//	'{'
+	//		'minValueConstraint' minValueConstraint=OclConstraint
+	//		'maxValueConstraint' maxValueConstraint=OclConstraint
+	//	'}'
+	// * / PropertyRange returns adaptationpoints::PropertyRange:
+	//	"PropertyRange";
 	public PropertyRangeElements getPropertyRangeAccess() {
 		return (pPropertyRange != null) ? pPropertyRange : (pPropertyRange = new PropertyRangeElements());
 	}
@@ -2983,9 +1905,13 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getPropertyRangeAccess().getRule();
 	}
 
-	//SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
-	//	"SetOfConfigurations" "{" ("variants" "(" variants+=[core::Entity|EString] ("," variants+=[core::Entity|EString])*
-	//	")")? "valueConstraint" valueConstraint=OclConstraint "}";
+	/// *
+	//	'{'
+	//		('variants' '(' variants+=[core::Entity|EString] ( "," variants+=[core::Entity|EString])* ')' )?
+	//		'valueConstraint' valueConstraint=OclConstraint
+	//	'}'
+	// * / SetOfConfigurations returns adaptationpoints::SetOfConfigurations:
+	//	"SetOfConfigurations";
 	public SetOfConfigurationsElements getSetOfConfigurationsAccess() {
 		return (pSetOfConfigurations != null) ? pSetOfConfigurations : (pSetOfConfigurations = new SetOfConfigurationsElements());
 	}
@@ -2994,8 +1920,13 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getSetOfConfigurationsAccess().getRule();
 	}
 
-	//OclConstraint returns adaptationpoints::OclConstraint:
-	//	"OclConstraint" name=EString "{" "oclString" oclString=EString "}";
+	/// *
+	//	name=EString
+	//	'{'
+	//		'oclString' oclString=EString
+	//	'}'
+	// * / OclConstraint returns adaptationpoints::OclConstraint:
+	//	"OclConstraint";
 	public OclConstraintElements getOclConstraintAccess() {
 		return (pOclConstraint != null) ? pOclConstraint : (pOclConstraint = new OclConstraintElements());
 	}
@@ -3024,8 +1955,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getAdaptationDirectionAccess().getRule();
 	}
 
-	//Objective:
-	//	"Objective" id=EString "{" "name" name=EString "specification" specification=EString "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'specification' specification=EString
+	//	'}'
+	// * / Objective:
+	//	"Objective" name=EString "=" specification=EString;
 	public ObjectiveElements getObjectiveAccess() {
 		return (pObjective != null) ? pObjective : (pObjective = new ObjectiveElements());
 	}
@@ -3035,7 +1972,8 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	}
 
 	//Event:
-	//	"Event" id=EString "{" "name" name=EString "}";
+	//	name= //id=EString
+	//	EString;
 	public EventElements getEventAccess() {
 		return (pEvent != null) ? pEvent : (pEvent = new EventElements());
 	}
@@ -3045,9 +1983,8 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	}
 
 	//WeightedTactic:
-	//	"WeightedTactic" id=EString "{" "name" name=EString "currentWeight" currentWeight=EDouble "defaultWeight"
-	//	defaultWeight=EDouble "usedTactic" usedTactic=[Tactic|EString] ("lastImpact"
-	//	lastImpact=[perfdatarepo::Impact|EString])? "}";
+	//	name=EString "=" usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ("lastImpact"
+	//	lastImpact=[perfdatarepo::Impact|EString])?;
 	public WeightedTacticElements getWeightedTacticAccess() {
 		return (pWeightedTactic != null) ? pWeightedTactic : (pWeightedTactic = new WeightedTacticElements());
 	}
@@ -3056,9 +1993,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getWeightedTacticAccess().getRule();
 	}
 
-	//WeightingFunction:
-	//	"WeightingFunction" id=EString "{" "name" name=EString "weightedMetrics" "{" weightedMetrics+=WeightedMetric (","
-	//	weightedMetrics+=WeightedMetric)* "}" "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'weightedMetrics' '{' weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)* '}' 
+	//	'}'
+	// * / WeightingFunction:
+	//	name=EString "{" weightedMetrics+=WeightedMetric ("," weightedMetrics+=WeightedMetric)* "}";
 	public WeightingFunctionElements getWeightingFunctionAccess() {
 		return (pWeightingFunction != null) ? pWeightingFunction : (pWeightingFunction = new WeightingFunctionElements());
 	}
@@ -3067,9 +2009,15 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getWeightingFunctionAccess().getRule();
 	}
 
-	//Impact returns perfdatarepo::Impact:
-	//	"Impact" id=EString "{" "name" name=EString "before" before=[perfdatarepo::Result|EString] "after"
-	//	after=[perfdatarepo::Result|EString] "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'before' before=[perfdatarepo::Result|EString]
+	//		'after' after=[perfdatarepo::Result|EString]
+	//	'}'
+	// * / Impact returns perfdatarepo::Impact:
+	//	"Impact";
 	public ImpactElements getImpactAccess() {
 		return (pImpact != null) ? pImpact : (pImpact = new ImpactElements());
 	}
@@ -3078,9 +2026,15 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getImpactAccess().getRule();
 	}
 
-	//Result returns perfdatarepo::Result:
-	//	"Result" id=EString "{" "name" name=EString "timestamp" timestamp=EDate "metricValues" "{" metricValues+=MetricValue
-	//	("," metricValues+=MetricValue)* "}" "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'timestamp' timestamp=EDate
+	//		'metricValues' '{' metricValues+=MetricValue ( "," metricValues+=MetricValue)* '}' 
+	//	'}'
+	// * / Result returns perfdatarepo::Result:
+	//	"Result";
 	public ResultElements getResultAccess() {
 		return (pResult != null) ? pResult : (pResult = new ResultElements());
 	}
@@ -3099,9 +2053,16 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		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] "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'value' value=EDouble
+	//		'measuredEntity' measuredEntity=[perfdatarepo::MeasuredEntity|EString]
+	//		'metricType' metricType=[perfdatarepo::MetricType|EString]
+	//	'}'
+	// * / MetricValue returns perfdatarepo::MetricValue:
+	//	"MetricValue";
 	public MetricValueElements getMetricValueAccess() {
 		return (pMetricValue != null) ? pMetricValue : (pMetricValue = new MetricValueElements());
 	}
@@ -3110,9 +2071,14 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getMetricValueAccess().getRule();
 	}
 
-	//MeasuredEntity returns perfdatarepo::MeasuredEntity:
-	//	"MeasuredEntity" id=EString "{" "name" name=EString "metricTypes" "(" metricTypes+=[perfdatarepo::MetricType|EString]
-	//	("," metricTypes+=[perfdatarepo::MetricType|EString])* ")" "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
+	//	'}'
+	// * / MeasuredEntity returns perfdatarepo::MeasuredEntity:
+	//	"MeasuredEntity";
 	public MeasuredEntityElements getMeasuredEntityAccess() {
 		return (pMeasuredEntity != null) ? pMeasuredEntity : (pMeasuredEntity = new MeasuredEntityElements());
 	}
@@ -3121,8 +2087,13 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 		return getMeasuredEntityAccess().getRule();
 	}
 
-	//MetricType returns perfdatarepo::MetricType:
-	//	"MetricType" id=EString "{" "name" name=EString "}";
+	/// *
+	//	//id=EString
+	//	'{'
+	//		'name' name=EString
+	//	'}'
+	// * / MetricType returns perfdatarepo::MetricType:
+	//	"name" name=EString;
 	public MetricTypeElements getMetricTypeAccess() {
 		return (pMetricType != null) ? pMetricType : (pMetricType = new MetricTypeElements());
 	}
@@ -3132,8 +2103,7 @@ public class StaAdaptationLanguageGrammarAccess extends AbstractGrammarElementFi
 	}
 
 	//WeightedMetric:
-	//	"WeightedMetric" id=EString "{" "name" name=EString "weight" weight=EDouble "metricType"
-	//	metricType=[perfdatarepo::MetricType|EString] "}";
+	//	name=EString "=" weight=EDouble "ref" ":" metricType=[perfdatarepo::MetricType|EString];
 	public WeightedMetricElements getWeightedMetricAccess() {
 		return (pWeightedMetric != null) ? pWeightedMetric : (pWeightedMetric = new WeightedMetricElements());
 	}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/validation/AbstractStaAdaptationLanguageJavaValidator.java b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/validation/AbstractStaAdaptationLanguageJavaValidator.java
index 9a9813e676f0287e03b769eb9058d4413e78d0f8..516a99cc01310cb94a01aae0ae7ee3795fdc5978 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/validation/AbstractStaAdaptationLanguageJavaValidator.java
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src-gen/edu/kit/ipd/descartes/mm/adaptation/validation/AbstractStaAdaptationLanguageJavaValidator.java
@@ -1,12 +1,14 @@
+/*
+* generated by Xtext
+*/
 package edu.kit.ipd.descartes.mm.adaptation.validation;
  
 import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
 
-public class AbstractStaAdaptationLanguageJavaValidator extends AbstractDeclarativeValidator {
+public class AbstractStaAdaptationLanguageJavaValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator {
 
 	@Override
 	protected List<EPackage> getEPackages() {
diff --git a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
index b688addba897c9c559dc099ff105a2378555b334..4a6b639b3dfd18d0e4afbeffceccb689d75ce2a1 100644
--- a/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
+++ b/edu.kit.ipd.descartes.mm.adaptation.sta/src/edu/kit/ipd/descartes/mm/adaptation/StaAdaptationLanguage.xtext
@@ -8,15 +8,14 @@ import "platform:/resource/edu.kit.ipd.descartes.core/model/core.ecore" as core
 import "platform:/resource/edu.kit.ipd.descartes.perfdatarepo/model/perfdatarepo.ecore" as perfdatarepo
 
 AdaptationProcess returns AdaptationProcess:
-	'AdaptationProcess'
-	id=EString
+	'AdaptationProcess' name=EString
+	//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
+		'goal' goal=OverallGoal 
+		'actions' ':' actions+=Action (',' actions+=Action)* 
+		'tactics' ':' tactics+=Tactic (',' tactics+=Tactic)*
+		'strategies' ':' strategies+=Strategy ( "," strategies+=Strategy)*
+		('parameters' ':' parameters+=Parameter ( "," parameters+=Parameter)* )?
 	'}';
 
 
@@ -26,8 +25,8 @@ AdaptationProcess returns AdaptationProcess:
 
 
 AdaptationPoint returns adaptationpoints::AdaptationPoint:
-	ModelVariableConfigurationRange | ModelEntityConfigurationRange;
-
+	'AdaptionPoint'//ModelVariableConfigurationRange | ModelEntityConfigurationRange;
+;
 
 
 
@@ -52,90 +51,124 @@ 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
-	'}';
+	'Tactic' name=EString '{'
+		('input' ':' inputParams+=[Parameter|EString] ( ',' inputParams+=[Parameter|EString])* )?
+		('output' ':' outputParam=[Parameter|EString])?
+		'implementedPlan' ':' implementedPlan=AdaptationPlan
+	'}'
+;
 
 Action returns Action:
-	'Action'
-	id=EString
+	'Action' name=EString
+	
+	'{'
+		('input' ':' inputParams+=[Parameter|EString] ( ',' inputParams+=[Parameter|EString])* )?
+		('output' ':' outputParam=[Parameter|EString])?
+		'referredAdaptationPoint' ':' referredAdaptationPoint=[adaptationpoints::AdaptationPoint|EString]
+		'adaptationActionOperation' ':' adaptationActionOperation=AdaptationActionOperation
+	'}'
+	
+	//TODO referredAdaptionPoint
+	//TODO ask because of adaptionActionOperation
+	
+/*
+	//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
+	'Strategy' name=EString
+	'{'
+	'objective' '=' objective=[Objective|EString]
+	'triggeringEvents' '=' triggeringEvents=Event
+	'tactics' ':' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)*
+	'weightingFunction' ':' weightingFunction=WeightingFunction
+	'}'
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'objective' objective=[Objective|EString]
 		'triggeringEvents' triggeringEvents=Event
 		'tactics' '{' tactics+=WeightedTactic ( "," tactics+=WeightedTactic)* '}' 
 		'weightingFunction' weightingFunction=WeightingFunction
-	'}';
+	'}'
+*/;
 
 Parameter returns Parameter:
-	'Parameter'
+	type=EString name=EString
+/*
 	name=EString
 	'{'
 		'type' type=EString
-	'}';
+	'}'
+*/
+;
 
 OverallGoal returns OverallGoal:
-	'OverallGoal'
-	'{'
-		'description' description=EString
-		'objectives' '{' objectives+=Objective ( "," objectives+=Objective)* '}' 
-	'}';
+		'Description' ':' description=EString
+		'objectives' ':' objectives+=Objective ( "," objectives+=Objective)*
+;
 
 AdaptationPlan returns AdaptationPlan:
-	'AdaptationPlan'
-	id=EString
+	steps+=StartAction (',' steps+=AbstractControlFlowElement)* ',' steps+=StopAction
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		('steps' '{' steps+=AbstractControlFlowElement ( "," steps+=AbstractControlFlowElement)* '}' )?
-	'}';
+	'}'
+*/
+;
 
 StartAction returns StartAction:
 	{StartAction}
 	'StartAction'
-	id=EString
+/*
+	//id=EString
 	'{'
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
 		('successor' successor=[AbstractControlFlowElement|EString])?
-	'}';
+	'}'
+*/
+;
 
 StopAction returns StopAction:
-	{StopAction}
+	//{StopAction}
 	'StopAction'
-	id=EString
+/*
+	//id=EString
 	'{'
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
 		('successor' successor=[AbstractControlFlowElement|EString])?
-	'}';
+	'}'
+*/
+;
 
 LoopAction returns LoopAction:
 	'LoopAction'
-	id=EString
+/*
+	//id=EString
 	'{'
 		'counter' counter=EInt
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
 		('successor' successor=[AbstractControlFlowElement|EString])?
 		'body' body=AdaptationPlan
-	'}';
+	'}'
+*/
+;
 
 BranchAction returns BranchAction:
 	'BranchAction'
-	id=EString
+/*
+	//id=EString
 	'{'
 		('condition' condition=EString)?
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
@@ -143,69 +176,94 @@ BranchAction returns BranchAction:
 		('context' context=[core::Entity|EString])?
 		'conditionTrueBranch' conditionTrueBranch=AdaptationPlan
 		'conditionFalseBranch' conditionFalseBranch=AdaptationPlan
-	'}';
+	'}'
+*/
+;
 
 ActionReference returns ActionReference:
 	'ActionReference'
-	id=EString
+/*
+	//id=EString
 	'{'
 		('predecessor' predecessor=[AbstractControlFlowElement|EString])?
 		('successor' successor=[AbstractControlFlowElement|EString])?
 		'refersTo' refersTo=[Action|EString]
-	'}';
+	'}'
+*/	
+;
+
 
 EInt returns ecore::EInt:
 	'-'? INT;
 
+//TODO Check With Nico
 AdaptationActionOperation returns AdaptationActionOperation:
-	'AdaptationActionOperation'
+	'AdaptionActionOperation'
+/*
 	'{'
 		'adaptationOperationScope' adaptationOperationScope=AdaptationScope
 		'adaptationOperationDirection' adaptationOperationDirection=AdaptationDirection
-	'}';
+	'}'
+*/	
+;
 
 ModelVariableConfigurationRange returns adaptationpoints::ModelVariableConfigurationRange:
 	'ModelVariableConfigurationRange'
-	id=EString
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'minValue' minValue=EDouble
 		'maxValue' maxValue=EDouble
 		'adaptableEntity' adaptableEntity=[core::AdaptableEntity|EString]
-	'}';
+	'}'
+*/
+;
 
 ModelEntityConfigurationRange returns adaptationpoints::ModelEntityConfigurationRange:
 	'ModelEntityConfigurationRange'
-	id=EString
+/*
+	//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 */;
@@ -214,90 +272,97 @@ AdaptationDirection returns AdaptationDirection:
 	'AdaptationDirection' /* TODO: implement this rule and an appropriate IValueConverter */;
 
 Objective returns Objective:
-	'Objective'
-	id=EString
+	'Objective' name=EString '=' specification=EString
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'specification' specification=EString
-	'}';
+	'}'
+*/
+;
 
 Event returns Event:
-	'Event'
-	id=EString
-	'{'
-		'name' name=EString
-	'}';
+	name=EString //id=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])?
-	'}';
+	name=EString '=' usedTactic=[Tactic|EString] currentWeight=EDouble defaultWeight=EDouble ('lastImpact' lastImpact=[perfdatarepo::Impact|EString])?
+;
 
 WeightingFunction returns WeightingFunction:
-	'WeightingFunction'
-	id=EString
+	name=EString '{'
+		weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)*
+	'}'
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'weightedMetrics' '{' weightedMetrics+=WeightedMetric ( "," weightedMetrics+=WeightedMetric)* '}' 
-	'}';
+	'}'
+*/
+;
 
 Impact returns perfdatarepo::Impact:
 	'Impact'
-	id=EString
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'before' before=[perfdatarepo::Result|EString]
 		'after' after=[perfdatarepo::Result|EString]
-	'}';
+	'}'
+*/
+;
 
 Result returns perfdatarepo::Result:
 	'Result'
-	id=EString
+/*
+	//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
+/*
+	//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
+/*
+	//id=EString
 	'{'
 		'name' name=EString
 		'metricTypes' '(' metricTypes+=[perfdatarepo::MetricType|EString] ( "," metricTypes+=[perfdatarepo::MetricType|EString])* ')' 
-	'}';
+	'}'
+*/
+;
 
 MetricType returns perfdatarepo::MetricType:
-	'MetricType'
-	id=EString
+	'name' name=EString
+/*
+	//id=EString
 	'{'
 		'name' name=EString
-	'}';
+	'}'
+*/
+;
 
 WeightedMetric returns WeightedMetric:
-	'WeightedMetric'
-	id=EString
-	'{'
-		'name' name=EString
-		'weight' weight=EDouble
-		'metricType' metricType=[perfdatarepo::MetricType|EString]
-	'}';
+	name=EString '=' weight=EDouble 'ref' ':' metricType=[perfdatarepo::MetricType|EString]
+;